Возможно ли привязать ListBox к источнику данных List<A>
, при этом для DisplayMember задается пользовательская строка, состоящая из свойств A, таких как следующие $"{A.b} {A.c}"
?
var list1 = new List<A>();
// populate list
MyListBox.DisplayMember = $"{A.b} {A.c}"; // not going to work
MyListBox.DataSource = list1;
Я знаю Я могу использовать анонимный тип, но я хочу, чтобы ListBox.Items оставался типа A. Я не хочу делать следующее:
var list2 = (from a in list1
select new {A = a, DisplayMember = $"{a.b} {a.c}"}).ToList();
MyListBox.DisplayMember = "DisplayMember";
MyListBox.DataSource = list2;
, потому что теперь MyListBox.Items
является анонимным, а A может ' не может быть извлечено как var list = MyListBox.Items.OfType<A>()
.
Итак, есть ли способ сделать это?