2016-02-09 3 views
0

Я хотел бы отключить [только для чтения] a ​​DataGridCell на основе программы, возвращенной из базы данных. Я использую следующий код, но он не работаетWPF отключить ячейку DataGrid

<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" ELSE что-нибудь для RoleName, он будет доступен только для чтения.

ответ

0

Вы пробовали что-то вроде этого?

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

Привет Я хочу сохранить RoleName = «Платежное чайник», чем правда Else Ложные – user3624511

+0

@ user3624511 вы можете уйти с отключением всей 'DataGrid'? Можете ли вы попробовать 'IsEnabled = false' в' DataGrid' и посмотреть, включен ли 'Cell' в' DataTrigger'? – CBreeze

+1

я сделал что-то вроде того, что <Свойство Setter = "IsEnabled" Значение = "False" /> ! Хороший подход user3624511

Смежные вопросы