在UserControl Id xmal中,ComboBox填充了"Id“项:
<ComboBox x:Name="cmbId" DisplayMemberPath="Id"/>
政务司司长:
cmbId.ItemsSource = (from q in mydata.test_views
select q).ToList();我试图将数据填充到DataGrid中:
<DataGrid x:Name="UGrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Auto Name" Binding="{Binding SelectedItem.AutoName, UpdateSourceTrigger=PropertyChanged, ElementName=cmbId}" Width="100"/>
<DataGridTextColumn Header="Color" Binding="{Binding SelectedItem.Color, UpdateSourceTrigger=PropertyChanged, ElementName=cmbId}" Width="100"/>
</DataGrid.Columns>
</DataGrid>用户在ComboBox上选择项目后,如何显示“自动名称和颜色”值?
发布于 2017-04-13 10:21:50
应该将ItemsSource的DataGrid设置为IEnumerable<T>。如果只想在DataGrid中显示单个项,则可以处理ComboBox的SelectionChanged事件,并将DataGrid的ItemsSource属性设置为在ComboBox中包含选定项的List<T>。
private void cmbId_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
UGrid.ItemsSource = new List<YourEntityType> { cmbId.SelectedItem as YourEntityType };
}<DataGrid x:Name="UGrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Auto Name" Binding="{Binding AutoName, UpdateSourceTrigger=PropertyChanged}" Width="100"/>
<DataGridTextColumn Header="Color" Binding="{Binding Color, UpdateSourceTrigger=PropertyChanged}" Width="100"/>
</DataGrid.Columns>
</DataGrid>发布于 2017-04-13 10:25:01
您需要在组合框中添加一个事件:
SelectionChanged="selectionInComboboxChanged"/>
在selectionInComboboxChanged中,您可以获得所选的cobobox项,然后将其添加到mydata.test_views列表中。
https://stackoverflow.com/questions/43389423
复制相似问题