In meinem Datagrid habe ich eine DataGridCheckBoxColumn
Implementierung:Wie aktivieren oder deaktivieren Sie das Kontrollkästchen basierend auf dem Eigenschaftswert?
<DataGrid ItemsSource="{Binding Collection}">
<DataGrid.Columns>
<DataGridCheckBoxColumn Binding="{Binding Selected}"
ElementStyle="{StaticResource MaterialDesignDataGridCheckBoxColumnStyle}"
EditingElementStyle="{StaticResource MaterialDesignDataGridCheckBoxColumnEditingStyle}">
<DataGridCheckBoxColumn.CellStyle>
<Style TargetType="DataGridCell">
<EventSetter Event="CheckBox.Unchecked" Handler="Match_Unchecked"/>
<Style.Triggers>
<!-- Enabling -->
<DataTrigger Binding="{Binding DataContext.IsAdding,
RelativeSource={RelativeSource AncestorType=Window}}" Value="false">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
<!-- Disabling -->
<DataTrigger Binding="{Binding DataContext.IsAdding,
RelativeSource={RelativeSource AncestorType=Window}}" Value="True">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style>
</DataGridCheckBoxColumn.CellStyle>
wie man sehen kann ich ein DataTrigger
auf die Style
von DataGridCheckBoxColumn
eingefügt habe, wenn so im Wesentlichen die Eigenschaft IsAdding
falsch ist, die Cell
mit dem Inhalt im Innern sollte aktiviert, ansonsten deaktiviert sein.
Das scheint nicht zu funktionieren, die Cell
ist sogar aktiviert, warum?
Haben Sie versucht, das Stilziel auf 'CheckBox' und nicht auf' DatGridCell' zu setzen? Funktioniert dein Event Setter überhaupt? – XAMlMAX
@XAMlMAX die 'CheckBox' ist innerhalb der' DataGridCell' und ich kann nicht zwei Stile in einem haben – MrFantastic
Ich verstehe das, aber ich bitte dich nicht, einen anderen Stil dort zu setzen, ich möchte den Zieltyp ändern. Und funktioniert Ihr Event Setter? – XAMlMAX