4

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

如何在DataGrid不绑定到DataSource. 我是 WPF 的新手,所以更详细的解释会有所帮助。

4

2 回答 2

13

如果你的意思是 wpf 工具包数据网格,你可以这样做:

        <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"

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

于 2010-01-11T22:35:44.743 回答
3

您可以使用带有静态值的标准 ComboBox 作为 ComboBoxItems,如下所示:

<ComboBox>
  <ComboBoxItem>Employee</ComboBoxItem>
  <ComboBoxItem>Contractor</ComboBoxItem>
  <ComboBoxItem>Supplier</ComboBoxItem>
</ComboBox>
于 2010-01-11T22:25:45.950 回答