在组合框网格单元格内绑定文本块文本
Binding Textblock text inside a combobox grid cell
我正在通过数据模板在数据网格视图中使用组合框单元格。
我绑定一个项目源并在
内的组合框上设置 DisplayMemberPath 、 SelectedValuePath 和 SelectedValue 属性
选择组合框中的项目后,我想在文本块元素上显示 DisplayMemberPath 文本,只是不知道如何绑定它。
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox
ItemsSource="{Binding Path=DataContext.PartNumbers, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
DisplayMemberPath="PartNumberDescription"
SelectedValuePath="PartNumberCodeCode"
SelectedValue="{Binding Code}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{How can I bind DisplayMemberPath here?}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
如果我使用与 SelectedValue 相同的绑定,它可以工作并显示值,但我想显示说明。
<TextBlock Text="{Binding Code}"/>
<!-- It works, but I would like to show the text of the combobox, not the value -->
XAML
<TextBlock Text="{Binding Description}"/>
视图模型
public string Description {
get {
return PartNumbers.SingleOrDefault(x => x.PartNumberCodeCode == Code)?.PartNumberDescription;
}
}
在 属性 更改 Code
时,通知 属性 更改 Description
我正在通过数据模板在数据网格视图中使用组合框单元格。
我绑定一个项目源并在
内的组合框上设置 DisplayMemberPath 、 SelectedValuePath 和 SelectedValue 属性选择组合框中的项目后,我想在文本块元素上显示 DisplayMemberPath 文本,只是不知道如何绑定它。
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox
ItemsSource="{Binding Path=DataContext.PartNumbers, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
DisplayMemberPath="PartNumberDescription"
SelectedValuePath="PartNumberCodeCode"
SelectedValue="{Binding Code}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{How can I bind DisplayMemberPath here?}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
如果我使用与 SelectedValue 相同的绑定,它可以工作并显示值,但我想显示说明。
<TextBlock Text="{Binding Code}"/>
<!-- It works, but I would like to show the text of the combobox, not the value -->
XAML
<TextBlock Text="{Binding Description}"/>
视图模型
public string Description {
get {
return PartNumbers.SingleOrDefault(x => x.PartNumberCodeCode == Code)?.PartNumberDescription;
}
}
在 属性 更改 Code
时,通知 属性 更改 Description