数据网格模板列中的组合框显示 system.data.datarowview
Combo box inside Data grid template column is showing system.data.datarowview
在我的项目中,我有一个包含三个组合框模板列的数据网格。组合框使用 xaml 进行数据绑定。但是当我 运行 项目组合框显示时 system.data.dataRowView
。这是我的数据网格单元格代码
<DataGridTemplateColumn Header="Category" Width="*" x:Name="categoryColumn">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="categoryBox"
IsEditable="True"
fa:FocusAttacher.Focus="True"
controls:TextBoxHelper.ClearTextButton="True"
controls:TextBoxHelper.SelectAllOnFocus="True"
controls:TextBoxHelper.Watermark="Category"
MaxDropDownHeight="125"
SelectionChanged="CategoryBox_OnSelectionChanged"
IsSynchronizedWithCurrentItem="True"
DisplayMemberPath="{Binding CategoriesCollection.Columns[1]}"
SelectedValuePath="{Binding CategoriesCollection.Columns[0]}"
ItemsSource="{Binding Path=DataContext.CategoriesCollection.DefaultView,
RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
为什么它没有显示正确的数据。谁能建议我解决这个问题的方法
代码 DisplayMemberPath="{Binding CategoriesCollection.Columns[1]}"
失败,因为必须为其提供相对源绑定,就像您提供的 ItemsSource
绑定一样。
要么为 Displaymember 路径提供适当的绑定
{Binding Path=DataContext.CategoriesCollection.Columns[1],
RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}"`
或将其硬编码为要查找的目标 属性 名称。
在我的项目中,我有一个包含三个组合框模板列的数据网格。组合框使用 xaml 进行数据绑定。但是当我 运行 项目组合框显示时 system.data.dataRowView
。这是我的数据网格单元格代码
<DataGridTemplateColumn Header="Category" Width="*" x:Name="categoryColumn">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="categoryBox"
IsEditable="True"
fa:FocusAttacher.Focus="True"
controls:TextBoxHelper.ClearTextButton="True"
controls:TextBoxHelper.SelectAllOnFocus="True"
controls:TextBoxHelper.Watermark="Category"
MaxDropDownHeight="125"
SelectionChanged="CategoryBox_OnSelectionChanged"
IsSynchronizedWithCurrentItem="True"
DisplayMemberPath="{Binding CategoriesCollection.Columns[1]}"
SelectedValuePath="{Binding CategoriesCollection.Columns[0]}"
ItemsSource="{Binding Path=DataContext.CategoriesCollection.DefaultView,
RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
为什么它没有显示正确的数据。谁能建议我解决这个问题的方法
代码 DisplayMemberPath="{Binding CategoriesCollection.Columns[1]}"
失败,因为必须为其提供相对源绑定,就像您提供的 ItemsSource
绑定一样。
要么为 Displaymember 路径提供适当的绑定
{Binding Path=DataContext.CategoriesCollection.Columns[1],
RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}"`
或将其硬编码为要查找的目标 属性 名称。