在wpf中访问数据网格内的组合框属性

时间:2018-03-01 21:22:02

标签: wpf combobox datagrid

我有一个数据网格,在wpf中有四列组合框。在开始时,启用第一个组合框。在第一个组合框上进行选择后,第二个组合框将启用。我无法访问我的xaml.cs文件中的组合框名称属性,因此我可以在成功选择第一个组合框后启用下一个组合框列。您能否建议如何访问我的xaml.cs文件中数据网格内存在的组合框属性?

这是我的xaml代码

<DataGridTemplateColumn     
    Header ="Example 9">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <ComboBox ItemsSource="{Binding PartIds, RelativeSource={RelativeSource AncestorType=Window}}" SelectedItem ="{Binding PartId,UpdateSourceTrigger=PropertyChanged}" />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

1 个答案:

答案 0 :(得分:0)

假设DataGrid中有两列,第一列包含combobox,其selecteditem绑定到名为PartId的属性,第二列包含还有一个combobox selecteditem绑定到名为PartId2的属性,您的模型看起来应该是这样的:

public class Model
{
    public string PartId { get; set; }
    public string PartId2 { get; set; }
}

现在,假设您的DataGrid itemsource绑定到名为ObservableCollection的{​​{1}}:

DgCollection

设置第一列的 private ObservableCollection<Model> _dgCollection; public ObservableCollection<Model> DgCollection { get { return _dgCollection; } set { if (Equals(value, _dgCollection)) return; _dgCollection = value; OnPropertyChanged(); } } 后,第二列可以使用DataTrigger激活其combobox,如下所示:

selecteditem

您可以轻松地将其概括为四列。