在wpf datagrid组合框列中显示一些静态值

时间:2010-01-11 21:33:55

标签: c# wpf datagrid datagridcomboboxcolumn

我正在尝试使用DataGrid,其第一列是ComboxBox。此ComboxBox具有硬编码的静态值,可能的值为:Employee, Contractor, Supplier

如何在DataGrid中显示一些静态值而不绑定到DataSource。 我是WPF的新手,所以更详细的解释会有所帮助。

2 个答案:

答案 0 :(得分:13)

如果你的意思是wpf工具包datagrid,你可以这样做:

        <dg:DataGridComboBoxColumn 
           Header="String Column" 
           SelectedItemBinding="{Binding Path=RoleProperty}">
           <dg:DataGridComboBoxColumn.ItemsSource>
              <CompositeCollection>
                 <system:String>Employee</system:String>
                 <system:String>Contractor</system:String>
                 <system:String>Supplier</system:String>
              </CompositeCollection>
           </dg:DataGridComboBoxColumn.ItemsSource>
        </dg:DataGridComboBoxColumn>

在此显示的项目中有一个名为RoleProperty的属性。您还需要在xaml顶部使用xnl命名空间定义(其余部分如下:

   xmlns:system="clr-namespace:System;assembly=mscorlib"

让您包含系统命名空间。 (访问字符串)

答案 1 :(得分:3)

您可以将标准ComboBox与静态值一起使用为ComboBoxItems,如下所示:

<ComboBox>
  <ComboBoxItem>Employee</ComboBoxItem>
  <ComboBoxItem>Contractor</ComboBoxItem>
  <ComboBoxItem>Supplier</ComboBoxItem>
</ComboBox>