以下是XAML的片段:
<ComboBox ItemsSource="{Binding UnileverDataSet.Tables, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" Margin="5" x:Name="TableNameComboBox">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding TableName}"></TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<DataGrid Margin="5" AutoGenerateColumns="True" ItemsSource="{Binding UnileverDataSet.Tables[TableNameComboBox.SelectedIndex]}"
UnileverDataSet是DataSet
,由大约12 DataTable
s
这里的想法是,当ComboBox
值发生变化时,DataGrid
应根据ComboBox
中的索引值进行更新。
这是可能的还是我应该考虑另一种方法呢?
如果我执行:UnileverDataSet.Tables[0]
,则所有作品和数据都会正确显示。
答案 0 :(得分:0)
你可以用组合框进行元素绑定..
您的combox将显示&#34; UnileverDataSet.Tables&#34;中的项目列表。采集。当您在组合框中选择一个项目时,所选项目将绑定到数据网格项目源(因为我们使用元素绑定)
以下是示例代码
<DataGrid Margin="5" AutoGenerateColumns="True" ItemsSource="{Binding SelectedItem,ElementName=TableNameComboBox}">