首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataGridComboBoxColumn selectItem绑定问题

DataGridComboBoxColumn selectItem绑定问题
EN

Stack Overflow用户
提问于 2018-08-30 14:50:15
回答 1查看 31关注 0票数 0

我正试图在DataGridand中创建一个ComboBox来执行selectItem绑定,但是当我编写这段代码时,我在列中的on ComboBox中选择了一个项,数据网格列中的所有ComboBox项都是绑定的,并显示了相同的选定项。我需要将每个ComboBox项与其selectedItem绑定。我很乐意得到帮助。

这是我的代码:

代码语言:javascript
复制
                        <DataGridComboBoxColumn  Header="CHOOSE" Width="0.7*"  
            DisplayMemberPath="Name" SelectedItemBinding="{Binding Path=SelectedReceiver,{RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">               
    <DataGridComboBoxColumn.ElementStyle>                      
                    <Style TargetType="{x:Type ComboBox}">
                        <Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, Path=DataContext.RxList}" />
                        <Setter Property="ItemTemplate" >
                            <Setter.Value>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Path= Name}" Style="{StaticResource GroupBoxHeaderTextBlockStyle}" />
                                </DataTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </DataGridComboBoxColumn.ElementStyle >
                <DataGridComboBoxColumn.EditingElementStyle>
                    <Style TargetType="{x:Type ComboBox}">
                        <Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, Path=DataContext.RxList }" />
                        <Setter Property="ItemTemplate">
                            <Setter.Value>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Path= Name}" Style="{StaticResource GroupBoxHeaderTextBlockStyle}"/>
                                </DataTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </DataGridComboBoxColumn.EditingElementStyle>
    </DataGridComboBoxColumn>
EN

回答 1

Stack Overflow用户

发布于 2018-08-30 16:36:18

在实际需要绑定到DataGrid.ItemsSource[x].SomeList时,可以绑定到DataGrid.ItemsSource.SomeList

基本上,您的列表和所选项目对于每一列都是相同的。您可以为item-model-class使用静态列表(如果列表保持不变),并为SelectedItem使用属性。

代码语言:javascript
复制
<DataGridComboBoxColumn SelectedItemBinding="{Binding SelectedReceiver}"> <!-- Bind to current item's SelectedReceiver -->
    <DataGridComboBoxColumn.ElementStyle>
        <Style TargetType="{x:Type ComboBox}">
            <Setter Property="ItemsSource" Value="{Binding Path=(modelNamespace:MyModel.RxList)}"/> <!-- Bind to static list property -->
        </Style>
    </DataGridComboBoxColumn.ElementStyle>
</DataGridComboBoxColumn>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52090808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档