Wpf 在datagrid的一列中禁用/设置只读所有组合框
我的网格被正确绑定了,我所要做的就是根据代码隐藏的任何条件禁用或使其只读Column2中包含的所有组合框。假设网格渲染后,我们得到10行包含此comboxbox。我必须在这10行中禁用combobox列Wpf 在datagrid的一列中禁用/设置只读所有组合框,wpf,binding,datagrid,datagridcomboboxcolumn,Wpf,Binding,Datagrid,Datagridcomboboxcolumn,我的网格被正确绑定了,我所要做的就是根据代码隐藏的任何条件禁用或使其只读Column2中包含的所有组合框。假设网格渲染后,我们得到10行包含此comboxbox。我必须在这10行中禁用combobox列 <DataGridTextColumn Binding="{Binding Value1}" Header="Column1" IsReadOnly="True"/> <DataGridTemplateColumn Header="Column2">
<DataGridTextColumn Binding="{Binding Value1}" Header="Column1" IsReadOnly="True"/>
<DataGridTemplateColumn Header="Column2">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox SelectedItem="{Binding MySelectedItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding MyComboItemSource}" >
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGridTextColumn>
您可以对组合框中启用的属性使用转换器 差不多
<ComboBox IsEnabled ={Binding Path=XXXX, Converter = {StaticResource MyConverter}} .... />
您可以对组合框中的IsEnabled属性使用转换器 差不多
<ComboBox IsEnabled ={Binding Path=XXXX, Converter = {StaticResource MyConverter}} .... />
您只需要在代码隐藏中创建一个bool属性,并绑定到xaml中combobox的isEnabled属性 代码隐藏
private bool _Disable;
public bool Disable
{
get { return _Disable; }
set
{
_Disable= value;
OnPropertyChanged("Disable");
}
}
Xaml
您只需要在代码隐藏中创建一个bool属性,并绑定到xaml中combobox的isEnabled属性 代码隐藏
private bool _Disable;
public bool Disable
{
get { return _Disable; }
set
{
_Disable= value;
OnPropertyChanged("Disable");
}
}
Xaml