Тривиальные примеры привязки данных являются просто тривиальными. Я хочу сделать что-то немного более сложное, и мне интересно, есть ли простой, встроенный способ справиться с этим.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
List<DataStruct> list = new List<DataStruct>()
{
new DataStruct(){Name = "Name 1", Value = "Value 1", ComplexValue = new ComplexValue(){Part1 = "1:P1", Part2 = "1:P2"}},
new DataStruct(){Name = "Name 2", Value = "Value 2", ComplexValue = new ComplexValue(){Part1 = "2:P1", Part2 = "2:P2"}}
};
listBox1.DataSource = list;
listBox1.DisplayMember = "ComplexValue.Part1";
}
}
public class DataStruct
{
public string Name { get; set; }
public string Value { get; set; }
public ComplexValue ComplexValue { get; set; }
}
public class ComplexValue
{
public string Part1 { get; set; }
public string Part2 { get; set; }
}
Есть ли простой способ получить значение свойства Part1, которое будет задано в качестве отображаемого элемента для списка элементов DataStruct? Выше я попробовал что-то, что, по моему мнению, имело смысл, но по умолчанию оно возвращается к ToString () в DataStruct. Я могу обойти это в случае необходимости, мне просто интересно, есть ли что-то встроенное в привязку данных, которое бы обрабатывало более сложную привязку данных, как описано выше.
Редактировать: Использование WinForms