WPF Datagrid Combobox XAML和Codebehind

时间:2012-07-13 08:06:33

标签: c# .net wpf xaml wpfdatagrid

由于我是WPF的初学者,我有一个可能基本的问题。

我有一个具有组合框的数据网格。

我写的xaml是:

<DataGridComboBoxColumn Header="ControlOption" Width="100"
       SelectedItemBinding="{Binding Path=DataGridComboxBox_Control}">
    <DataGridComboBoxColumn.ItemsSource>
        <col:ArrayList>
            <sys:String>Database1</sys:String>
            <sys:String>DataBase2</sys:String>
        </col:ArrayList>
    </DataGridComboBoxColumn.ItemsSource>
</DataGridComboBoxColumn>

我在comboBox的下拉列表中有3个值。 1. WorkStream1 2. WorkStream2 3. WorkStream3

现在我如何编写ComboxBox的代码隐藏。 请给我指点。 :)

非常感谢。

Ashutosh说

2 个答案:

答案 0 :(得分:0)

抱歉,我还不太了解你。你想从代码后面替换组合框的项目源吗? 在这种情况下,您可以将组合框的ItemsSource绑定到属性。像那样:

<Controls:DataGridComboBoxColumn Header="Gender" ItemsSource="{Binding Path=Genders}" />

并且在后面的代码中会像

一样
    public ObservableCollection<string> Genders
    {
        get {
            return _genders;
        }
        set { _genders = value;
            PropertyChanged(this, new PropertyChangedEventArgs("Genders"));
        }
    }

如果你的意思是其他的,请解释一下。可能是我以错误的方式理解你了

答案 1 :(得分:0)

使用datagrid_PreviewKeyDown函数捕获网格中的keypressed。如果细胞聚焦使用 datagrid.BeginEdit()将单元格从文本块转换为组合框。 我认为这有助于解决这个问题。