些細なデータバインディングの例は、それだけです。もう少し複雑なことをしたいのですが、それを処理するための簡単な組み込みの方法があるかどうか疑問に思っています。
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; }
}
DataStructアイテムのリストの表示メンバーとして設定するPart1プロパティの値を取得する簡単な方法はありますか?上記で私は理にかなっていると思った何かを試しましたが、それはデフォルトでDataStructのToString()に戻ります。必要に応じて回避できます。データバインディングに、上記のようなより複雑なデータバインディングを処理するものが組み込まれているのではないかと思っていました。
編集:WinFormsの使用