我有一些像orders表绑定到DataGrid
。 我想禁止在订单日期过期的行上进行编辑(截止日期>当前日期):显示它们灰色并禁止进入编辑模式。WPF datagrid:禁用某些行中的编辑
以下是我有:
<Style TargetType="{x:Type WPFToolkit:DataGridRow}">
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<!-- ??? order_date > current_date -->
<!-- some other condition - already works -->
</MultiTrigger.Conditions>
<Setter Property="IsEnabled" Value="False"/>
<Setter Property="Foreground" Value="LightGray"/>
</MultiTrigger>
</Style.Triggers>
</Style>
订单日期是一个模板列定义如下:
<WPFToolkit:DataGridTemplateColumn SortMemberPath="order_date" Header="Deadline" >
<WPFToolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=order_date,
ConverterCulture='ru-RU', StringFormat='{}{0:d}'}" />
</DataTemplate>
</WPFToolkit:DataGridTemplateColumn.CellTemplate>
<WPFToolkit:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<WPFToolkit:DatePicker SelectedDate="{Binding Path=order_date}" />
</DataTemplate>
</WPFToolkit:DataGridTemplateColumn.CellEditingTemplate>
</WPFToolkit:DataGridTemplateColumn>
有没有一种方法来禁用行编辑模式下订单的日期已过期?
相关:http://stackoverflow.com/questions/2030143/wpf-datagrid-with-some-read-only-rows – surfen