DataGridCheckBoxColumn IsReadOnly-Eigenschaft binden
Ich würde gerne die checkbox-Spalte in meinem datagrid-aktiviert/deaktiviert für jede Zeile abhängig von einem Wert in einer Sammlung. Ich habe eine ObservableCollection genannt AccountComponents, die eine Sammlung von einer Klasse namens AccountComponent die eine Boolesche Eigenschaft namens Aktiviert. Ich habe versucht, die Bindung der Aktivierten Eigenschaft IsReadOnly und IsEnabled mit kein Glück.
Hier ist XAML, wo ich versuchte ein DataGridCheckBoxColumn-
<DataGridCheckBoxColumn Binding="{Binding IsChecked}" IsReadOnly="{Binding AccountComponents/Enabled}"/>
Hier ist XAML, wo ich versuchte ein DataGridTemplateColumn-
<DataGridTemplateColumn Header="">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<CheckBox IsChecked="{Binding IsChecked,Mode=TwoWay}" IsEnabled="False"/>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Grid>
<CheckBox IsChecked="{Binding IsChecked,Mode=TwoWay}" IsEnabled="{Binding Enabled}"/>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
Jede Hilfe herauszufinden diese aus wird sehr geschätzt.
- Welche Nachrichten erhalten Sie aus dem Ausgabe-Fenster?
- Es ist das gleiche für jede Eigenschaft, auf einem beliebigen Typ der Spalte. Abstrakte dein problem, Suche die Lösung finden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten, es gibt keine Notwendigkeit, geben Sie eine
CellEditingTemplate
wenn nur über die Checkboxen. Checkboxen selbst sind "editable/nachprüfbar". So entfernen, dassCellEditingTemplate
da dies keinen Sinn macht.Haben Sie versucht zu binden, die
IsEnabled
Eigenschaft der CheckBox direkt zu IhremEnabled
Eigentum IhrerAccountComponent
im CellTemplate (wie hast du es in der CellEditingTemplate)? Dies sollte Ihr problem lösen.