数据网格的ItemsSource未通过更改组合框中的值来反映

本文关键字:组合 网格 数据网 ItemsSource 数据 | 更新日期: 2023-09-27 18:26:40

我有一个数据网格,它在celltemplate 中有一个组合框

   <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Path=List,Mode=TwoWay}">
        <DataGrid.Columns>
            <DataGridTextColumn Header="ID" Binding="{Binding Path=ID,Mode=TwoWay}"></DataGridTextColumn>
            <DataGridTemplateColumn Header="Names" >
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <ComboBox SelectedItem="{Binding Path=Name,Mode=TwoWay}"
                                  SelectedValuePath="Type"                                      
                                  ItemsSource="{Binding Path=Names,Mode=TwoWay,Source={StaticResource someSource}}"></ComboBox>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

在上面的代码中,当我从datagrid中的组合框更改Name时。。项目源列表应该更改??怎么做??

数据网格的ItemsSource未通过更改组合框中的值来反映

根据标题,我假设您的意思是更改Datagrid的itemsSource。这是一个奇怪的要求,但这应该工作

<ComboBox DropDownClosed="ComboBox_DropDownClosed" 
    SelectedItem="{Binding Path=Name,Mode=TwoWay}"
    SelectedValuePath="Type"                                      
    ItemsSource="{Binding Path=Names,Mode=TwoWay,Source={StaticResource someSource}}">     
</ComboBox>
private void ComboBox_DropDownClosed(object sender, EventArgs e)
{
    myGrid.ItemsSource = myOtherList;
}