C# 仅使用IValueConverter进行绑定
也许我误解了如何使用IValueConverter或数据绑定(这很可能),但我目前正试图根据字符串的值设置DataGridTextColumn的IsReadOnly属性。以下是XAML:C# 仅使用IValueConverter进行绑定,c#,wpf,data-binding,C#,Wpf,Data Binding,也许我误解了如何使用IValueConverter或数据绑定(这很可能),但我目前正试图根据字符串的值设置DataGridTextColumn的IsReadOnly属性。以下是XAML: <DataGridTextColumn Binding="{Binding Path=GroupDescription}" Header="Name" IsReadOnly="{Binding Current,
<DataGridTextColumn Binding="{Binding Path=GroupDescription}" Header="Name"
IsReadOnly="{Binding Current,
Converter={StaticResource currentConverter}}"/>
当前,列始终是可编辑的,转换器似乎什么也不做。有人知道为什么会发生这种情况吗?您可以使用
DataTrigger
来启用\禁用DataGridCell
:
<DataGridTextColumn Header="Name" Binding="{Binding GroupDescription}">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding Current}" Value="Current">
<Setter Property="TextBlock.IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
DataGridTextColumn的IsReadOnly属性的值是一个全局值,将影响所有单元格。单个单元格没有自己的IsReadOnly属性。
尝试创建自己的DependencyProperty如下所示:问题/问题是什么?更新了问题的结尾,希望不是太模糊…IsReadOnly不可绑定。请参阅我在@Shoe-
IsReadOnly上的回答,它与任何其他DP一样是可绑定的。@mastur-属性Current
位于何处?在ViewModel类或基础ItemsSource对象中?
<DataGridTextColumn Header="Name" Binding="{Binding GroupDescription}">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding Current}" Value="Current">
<Setter Property="TextBlock.IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>