从代码绑定 DataGridComboBoxColumn

Posted

技术标签:

【中文标题】从代码绑定 DataGridComboBoxColumn【英文标题】:bind DataGridComboBoxColumn from code 【发布时间】:2011-08-03 16:44:11 【问题描述】:

我在 datagrid wpf 中有这些列

        <DataGrid.Columns>
            <DataGridComboBoxColumn SelectedItemBinding="Binding Path=ProductId" DisplayMemberPath="Name" SelectedValuePath="Id" />         
            <DataGridTextColumn Binding="Binding Path=StorageAmount" Width="*" Header="Со склада" />
            <DataGridTextColumn Binding="Binding Path=Trade1Amount" Width="*" Header="С точки 1" />
            <DataGridTextColumn Binding="Binding Path=Trade2Amount" Width="*" Header="С точки 2" />
            <DataGridTextColumn Binding="Binding Path=TotalAmount" Width="*" Header="Всего" FontWeight="Bold" />
        </DataGrid.Columns>

如何通过代码而不是 xaml 以编程方式绑定 DataGridComboBoxColumn?我无法将 Name 定义为 DataGridComboBoxColumn,因此我无法从代码中访问以填充此 Combobox 的 DataContext

【问题讨论】:

【参考方案1】:

使用 x:-namespace 和 Name-attribute。这将满足您的需求:

<DataGridComboBoxColumn x:Name="m_yourComboBoxColumn" SelectedItemBinding="Binding Path=ProductId" DisplayMemberPath="Name" SelectedValuePath="Id" />              

【讨论】:

以上是关于从代码绑定 DataGridComboBoxColumn的主要内容,如果未能解决你的问题,请参考以下文章

从编译器角度理解虚函数静态绑定和动态绑定

从编译器角度理解虚函数静态绑定和动态绑定

WPF 从后面的代码添加的 UserControl 绑定到祖先

我可以从后面的 C# 代码更新 WPF 绑定的值吗?

xamarin 表单 - 与选择器的两种方式绑定 - 为啥我不能从后面的代码更新选择器?

将方法从后面的代码转换为 ICommand 数据绑定 Xamarin.Forms