WPF-Datagrid: Deaktivieren Sie die Bearbeitung in bestimmten Zeilen
Ich habe so etwas wie einen Befehlstisch an einen gebundenDataGrid
. Ich möchte die Bearbeitung von Zeilen deaktivieren, bei denen das Bestelldatum abgelaufen ist (Stichtag> aktuelles Datum): Zeigen Sie diese grau an und verbieten Sie den Bearbeitungsmodus.
Folgendes habe ich:
<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>
Das Bestelldatum ist eine Vorlagenspalte, die wie folgt definiert ist:
<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>
Gibt es eine Möglichkeit, den Bearbeitungsmodus in Zeilen zu deaktivieren, in denen das Bestelldatum abgelaufen ist?