DataGridComboBoxColumn - Probleme beim ItemsSource Binding
-
Hallo zusammen, hoffe ihr könnt mir helfen da ich den Fehler von allein einfach nicht finde:
Ein UserControl enthält:
KatalogComboBox
- gebunden an eine ObservableCollection<FragenkatalogInfo>FachbereichComboBox
- ItemsSource gebunden an KatalogComboBox.SelectedItem.VorhandeneFachbereiche (FragenkatalogInfo.VorhandeneFachbereiche)DataGrid
- ItemsSource gebunden an eine CollectionView<QuestionClass>Mein Problem besteht nun darin die ItemsSource Eigenschaft einer DataGridComboBoxColumn an die Eigenschaft "VorhandeneFachbereiche" zu binden.
Die FachbereichCombo ist so gebunden wobei alle gewünschten Einträge vorhanden sind:
<ComboBox x:Name="FachbereichComboBox" IsEnabled="{Binding EditModeFlag, ElementName=UserControl}" ItemsSource="{Binding SelectedItem.VorhandeneFachbereiche, ElementName=KatalogComboBox}" SelectedValue="{Binding aktuelleFrage.fachbereich, Mode=TwoWay, Source={StaticResource IaktuelleFrageClass}, UpdateSourceTrigger=PropertyChanged}"
Nun versuche ich vergeblich eine DataGridComboBox ebenso zu binden:
<DataGridComboBoxColumn Header="DEBUG " ItemsSource="{Binding Path=SelectedItem.VorhandeneFachbereiche, ElementName=KatalogComboBox}" />
Ich hoffe das ich das ganze verständlich genug erklärt habe. Das Problem ist also, das die DataGridCombo keine Einträge enthält !!!
Wo übersehe ich etwas ?
-
Hallo,
was sagt denn dein Ausgabefenster, gibt es einen Binding Fehler? Vermutlich bist du auf folgendes Problem gestoßen:
http://blogs.msdn.com/b/vinsibal/archive/2008/12/17/wpf-datagrid-dynamically-updating-datagridcomboboxcolumn.aspx
Hier gibts noch ein bißchen mehr dazu zu lesen:
http://stackoverflow.com/questions/502389/binding-in-a-wpf-data-grid-text-column
-
Ja, ich denke das ist mein Problem.
Da ich die ausgewählte KatalogInfo für andere Zwecke in einer weiteren DepProp stehen hatte, nutze ich jetzt einfach das Property_Changed Event:
private static void loadedKatalog_PropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (e.NewValue != null) ((FragenEditor)d).DGFachbereichCombo.ItemsSource = (e.NewValue as FragenkatalogInfo).VorhandeneFachbereiche; }
Danke für deinen Tip