カスタム クラスの observablecollection を単純なグリッドビューにバインドしようとしています。
これはグリッドビュー テンプレートです。
<ListView Name="TestGrid" Grid.Row="1" Margin="0,10,0,0" ItemsSource="{Binding Path=testlist}">
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Path=AlertType}" Header="Alert" />
<GridViewColumn DisplayMemberBinding="{Binding Path=Target}" Header="Target" />
<GridViewColumn DisplayMemberBinding="{Binding Path=Message}" Header="Message" />
</GridView>
</ListView>
これは背後にあるコードです:
public ObservableCollection<TestClass> testlist {get; set;}
public MainWindow()
{
InitializeComponent();
testlist = new ObservableCollection<TestClass>();
testlist.Add(new TestClass("Type1","Target1","Message1"));
testlist.Add(new TestClass("Type2", "Target2", "Message2"));
}
public class TestClass
{
public string AlertType { get; set; }
public string Target { get; set; }
public string Message { get; set; }
public TestClass(string a, string t, string m)
{
AlertType = a;
Target = t;
Message = m;
}
}
今、私はインターネットで見つけたサンプルを正確にフォローしています。残念ながら、グリッドビューで得られる唯一の結果は、 「System.Windows.Controls.Columns.Count:3」という次のメッセージを表示する一意の行です。
ここで何が欠けていますか?