Здравствуйте, zvb733, Вы писали:
Z>Есть DataGrid, в нём две колонки DataGridComboBoxColumn. В первой колонке страны, во второй города. Есть таблица соответствия городов странам. Выбрали в первой колонке Россию, как сделать так, чтобы при клике на комбобокс в ячейке второй колонки показывались только города России?
Вот примерчик кода
<DataGrid ItemsSource="{Binding Countries}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=name}" Width="50"/>
<DataGridComboBoxColumn
SelectedValueBinding="{Binding Path=CurrentCity}"
SelectedValuePath="id"
DisplayMemberPath="name">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="ItemsSource" Value="{Binding country_cities}"/>
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="ItemsSource" Value="{Binding country_cities}" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
country_cities — это связь между таблицами в DataSet
Теоретически нет разницы между теорией и практикой, но на практике она есть