wpf datagrid groupstyle



WPF DataGridComboBoxColumn (1)

Hallo, ich benutze das WPF DataGrid und ich versuche, die ComboBox Column zu arbeiten.

<tk:DataGridComboBoxColumn Header="GroupLevel"
                           DisplayMemberPath="Type"
                           SelectedItemBinding="{Binding Path=GroupLevel}"
                           >
    <tk:DataGridComboBoxColumn.EditingElementStyle>
        <Style TargetType="ComboBox">
            <Setter Property="ItemsSource" Value="{Binding Path=GroupLevel.Group.GroupLevels}" />
        </Style>
    </tk:DataGridComboBoxColumn.EditingElementStyle>

</tk:DataGridComboBoxColumn>

Wenn ich auf das Raster schaue, ist die Spalte leer, so wie sie den Pfad des Anzeigeelements nicht verwendet. Aber sobald ich in die Spalte klicke, erscheint die Combobox und zeigt alle Elemente in meiner ItemsSource an und wählt die richtige aus, sodass ich weiß, dass alle Bindungen korrekt funktionieren, sogar der DisplayMemberPath. Es ist nur, wenn ich nicht die Zelle bearbeite, die es leer zeigt.

Habe ich irgendwo ein Anwesen vermisst?

Danke, Raul


Ich bin mir ziemlich sicher, dass dies daran liegt, dass wenn Sie nicht im Bearbeitungsmodus sind, Ihre Spalte keine Elementquelle hat und eine ComboBox kein ausgewähltes Element ohne eine Elementquelle haben kann. Sobald du in den Bearbeitungsmodus gehst, erhält deine Spalte ihre Quellen und alles ist cool. Sie können dies beheben, indem Sie eine Elementquelle wie folgt angeben:

<tk:DataGridComboBoxColumn.ElementStyle>
    <Style TargetType="ComboBox">
        <Setter Property="ItemsSource" Value="{Binding Path=GroupLevel.Group.GroupLevels}" />
    </Style>
</tk:DataGridComboBoxColumn.ElementStyle>

Dann haben sowohl Ihr Bearbeitungselement als auch Ihr (nicht bearbeitbares) Element dieselbe ItemsSource





combobox