C# 仅使用IValueConverter进行绑定

C# 仅使用IValueConverter进行绑定,c#,wpf,data-binding,C#,Wpf,Data Binding,也许我误解了如何使用IValueConverter或数据绑定(这很可能),但我目前正试图根据字符串的值设置DataGridTextColumn的IsReadOnly属性。以下是XAML: <DataGridTextColumn Binding="{Binding Path=GroupDescription}" Header="Name" IsReadOnly="{Binding Current,

也许我误解了如何使用IValueConverter或数据绑定(这很可能),但我目前正试图根据字符串的值设置DataGridTextColumn的IsReadOnly属性。以下是XAML:

<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>