C# WPF禁用数据网格单元

C# WPF禁用数据网格单元,c#,wpf,C#,Wpf,我想根据从数据库返回的程序禁用[只读]一个DataGridCell。我正在使用以下代码,但它不起作用 <DataGridTextColumn Width="SizeToCells" x:Name="amountColumn" Header="Amount" Binding="{Binding Amount}" MinWidth="100" > <DataGridTextColumn.CellStyle> <Style TargetTyp

我想根据从数据库返回的程序禁用[只读]一个
DataGridCell
。我正在使用以下代码,但它不起作用

<DataGridTextColumn Width="SizeToCells" x:Name="amountColumn" Header="Amount"  Binding="{Binding Amount}"  MinWidth="100" >
    <DataGridTextColumn.CellStyle>
         <Style TargetType="DataGridCell">
             <Style.Triggers>
                 <DataTrigger Binding="{Binding RoleName}" Value="Payment Authoriser" >
                     <Setter Property="Background" Value="#DDA0DC" />
                     <Setter Property="ToolTip" Value="Please Add Amount" />
                 </DataTrigger>
             </Style.Triggers>
         </Style>
     </DataGridTextColumn.CellStyle>
 </DataGridTextColumn>
 <Setter Property="DedableThisCell" Value="Please DesableMe" />


GridCell
只有当
RoleName=“Payment Maker”
其他任何东西用于
RoleName
时才是可写的,它将是只读的。

您尝试过类似的方法吗

<DataTrigger Binding="{Binding RoleName}" Value="Payment Maker" >
        <Setter Property="IsEnabled" Value="True" />
</DataTrigger>


您好,我想保留RoleName=“Payment Maker”而不是TrueFalse@user3624511禁用整个
数据网格
,您能成功吗?你能试试
DataGrid
上的
IsEnabled=false
,看看
单元格是否由
DataTrigger
启用吗?我做过类似的事情 ! 好方法@user3624511我同意最好将代码编写为“if PaymentMaker,然后enable,else disable”,因为它将默认操作视为“disable”,而不是“enable”。如何设置默认的iEnabled?依赖项属性优先级可能会阻止触发器运行,具体取决于它所在的位置