【发布时间】:2014-03-04 22:16:30
【问题描述】:
我有以下课程:
public class Zone {
public int ID {get;set;}
public string Name {get;set;}
public string Formatted {get;set;}
}
使用以下DataGridComboBoxColumn:
<DataGrid Name="dg" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridComboBoxColumn SelectedValueBinding="{Binding ZoneID}" DisplayMemberPath="Formatted" SelectedValuePath="ZoneID" />
</DataGrid.Columns>
</DataGrid>
我使用List<Zone> 作为ItemsSource 的DataGridComboBoxColumn:
((DataGridComboBoxColumn)dg.Columns[0]).ItemsSource = new List<Zone> {
new Zone {ID=0,Name="Zone0",Formatted="Zone0 - Formatted"},
new Zone {ID=1,Name="Zone1",Formatted="Zone1 - Formatted"},
new Zone {ID=2,Name="Zone2",Formatted="Zone2 - Formatted"},
new Zone {ID=3,Name="Zone3",Formatted="Zone3 - Formatted"},
new Zone {ID=4,Name="Zone4",Formatted="Zone4 - Formatted"}
};
设置DisplayMemberPath="Formatted"有两个作用:
- 单元格内容包含
Formatted属性的值 - 下拉菜单使用
Formatted生成下拉项目。
如何让单元格内容使用Name 属性,而下拉菜单使用Formatted 属性?
【问题讨论】:
-
ComboBox 的行为是否与 DataGridComboBoxColumn 不同?我认为这被称为选择框。
-
@Blam 你的意思是Telerik UI control,它有一个
SelectionBoxTemplate属性吗?标准DataGridComboBoxColumn 没有提到类似的东西。 -
是的,但显然不在 DataGridComboBoxColumn 中。
标签: wpf datagridcomboboxcolumn