Я пытаюсь реализовать отношения мастер-деталь следующим образом:Как связать WPF с привязкой?
(shown in a ComboBox) (shown in a DataGrid)
|-----------| |------------|
| Customers | | Orders |
|-----------| |------------|
| Id |--- CustomersOrdersRelation ---| CustomerId |
| Name | | OrderId |
| ... | | ... |
|-----------| |------------|
Но у меня также есть < Все клиенты > пункт в выпадающем списке, для которого мне нужно видеть все заказы от всех клиентов отображается в файле datagrid.
Вот фрагмент кода XAML:
<ComboBox x:Name="CustomersComboBox" ...>
<ComboBox.ItemsSource>
<CompositeCollection>
<ComboBoxItem Content="{StaticResource nullCustomer}" /> <!-- I wrote my own class NullCustomer -->
<CollectionContainer Collection="{Binding Source={StaticResource CustomersCollectionViewSource}}" />
</CompositeCollection>
</ComboBox.ItemsSource>
</ComboBox>
<DataGrid ItemsSource="{Binding ElementName=CustomersComboBox, Path=SelectedItem.CustomersOrdersRelation}" ...>
Теперь у меня есть два вопроса:
Каким Binding в DataGrid найти
Path=SelectedItem.CustomersOrdersRelation
когда выпадающий-хSelectedItem
(который является DataRowView во время выполнения) не имеет свойстваCustomersOrdersRelation
?Что это самый простой способ для меня, чтобы изменить свой собственный
NullCustomer
класс, так что, когда я выбираю < Всех клиент > Я буду иметь результатыAllOrdersCollectionViewSource
отображаемые?
Благодарим вас @ H.B. Я реализовал решение, основанное на ваших ответах, и теперь он отлично работает. –