[英]Combobox selected item binding inside Datagrid in WPF not working
我在 WPF 中的数据网格中遇到了组合框问题。 我希望组合框上的箭头即使不在编辑模式下也可见。 我无法使用 DataGridComboBoxColumn 实现这种行为,否则它可以正常工作。 为了解决这个外观问题,我不得不使用普通的组合框。
<DataGridTemplateColumn Header="Parameter Group" MinWidth="150" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Source={StaticResource GroupList}}"
DisplayMemberPath="ParameterGroupName"
IsSynchronizedWithCurrentItem="True"
SelectedValuePath="ParameterGroupName"
SelectedValue="{Binding Path=ParameterGroup,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
现在的问题是所选项目绑定不起作用。 为一行选择的任何项目都适用于所有项目。 我不确定这里出了什么问题。
项目来源是-
private ObservableCollection<ParameterGroupModel> _parameterGroupList;
public ObservableCollection<ParameterGroupModel> ParameterGrpList
{
get
{
return _parameterGroupList;
}
set
{
_parameterGroupList = value;
NotifyPropertyChanged("ParameterGrpList");
}
}
所选值是模型内的一个简单字符串。 有人可以帮忙吗?
使用 CellTemplate,您可以在运行时在每个单元格中“复制”相同的 xaml 代码,因此具有相同的绑定。因此每个单元格引用相同的数据源和相同的 selectedItem 对象。
您必须在某处定义一个对象集合,在该集合上每一行都可以单独绑定其所选项目,并在每个单元格中专门引用它(一种可能的解决方案可能是使用带有 selectedItemCollection 和行号的多重绑定,例如,确定哪个项目是您的行必须绑定到的 selectedItemCollection)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.