datagridtemplatecolum列中的组合框.绑定不起作用
本文关键字:绑定 不起作用 组合 datagridtemplatecolum | 更新日期: 2023-09-27 18:02:25
在我的WPF窗口中,我声明了以下内容:
public List<Brand> BrandList;
,然后在构造函数中填充列表:
BrandList = new List<Brand>(EntityDao.GetInstance().GetProducts().Select(p => p.Brand).Distinct().OrderBy(b => b.Name));
然后在我的XAML代码中,我声明了一个DataGrid:
<DataGrid <!-- Properties omitted--> >
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Path=BrandList, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!-- Other columns omitted -->
</DataGrid.Columns>
</DataGrid>
问题是我的组合框是空的。通过调试,我已经验证了BrandList
对象包含了80多个对象,所有这些对象都定义了ToString()
方法。
DataGrid的ItemsSource是一个简单的ObservableCollection。
任何想法?
绑定与属性一起工作,并且您声明了一个公共成员。你应该这样定义你的列表:
public List<Brand> BrandList { get;set;}