WPF datagrid: deaktivieren der Bearbeitung in bestimmten Zeilen

Ich habe so etwas wie Tabelle Bestellungen gebunden DataGrid.
Ich deaktivieren möchten, Bearbeiten von Zeilen, wo um Datum abgelaufen (Stichtag > Aktuelles Datum): zeigen Sie, Grau und Verbot der Eingabe in den edit-Modus.

Hier ist was ich habe:

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

Dem Datum der Bestellung ist eine template-Spalte wie folgt definiert:

<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 zum deaktivieren der Bearbeitung-Modus in den Zeilen, wo, um das Datum abgelaufen ist?

InformationsquelleAutor jonny | 2009-12-17
Schreibe einen Kommentar