WPF DataGrid 中的DataGridComboBoxColumn 使用
2012-01-13 09:49
423 查看
步骤一、新建枚举类型
public enum WeightUnits { 克,斤,公斤,千克,吨,毫克 };
步骤二、在资源中创建 数据提供者
<UserControl x:Class="XXXXView"
xmlns:core="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:<枚举所在的命名空间>"
/>
<UserControl.Resources>
<ObjectDataProvider x:Key="myEnum" MethodName="GetValues" ObjectType="{x:Type core:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type Type="local:WeightUnits"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</UserControl.Resources>
之前要生命一些XML空间
xmlns:core="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:Qtrunk.Modules.SiteManagement"
步骤三、在DataGrid中标记
<DataGridComboBoxColumn Header="辅助单位"
TextBinding ="{Binding SubAssistUnitName}"
ItemsSource="{Binding Source={StaticResource myEnum}}"
>
</DataGridComboBoxColumn>
对比了网上的许多片段,感觉这种方式虽然算不上完美的解决方案,不过还算简单可行。
主要参考资料
微软官方的MSDN
http://msdn.microsoft.com/zh-cn/library/system.windows.controls.datagridcomboboxcolumn.aspx
-----------------------------------------------------------------------------------------------------------
2013-06-19 补充方法
-------------------------------------------------------------------------------------------------------------
public enum WeightUnits { 克,斤,公斤,千克,吨,毫克 };
步骤二、在资源中创建 数据提供者
<UserControl x:Class="XXXXView"
xmlns:core="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:<枚举所在的命名空间>"
/>
<UserControl.Resources>
<ObjectDataProvider x:Key="myEnum" MethodName="GetValues" ObjectType="{x:Type core:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type Type="local:WeightUnits"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</UserControl.Resources>
之前要生命一些XML空间
xmlns:core="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:Qtrunk.Modules.SiteManagement"
步骤三、在DataGrid中标记
<DataGridComboBoxColumn Header="辅助单位"
TextBinding ="{Binding SubAssistUnitName}"
ItemsSource="{Binding Source={StaticResource myEnum}}"
>
</DataGridComboBoxColumn>
对比了网上的许多片段,感觉这种方式虽然算不上完美的解决方案,不过还算简单可行。
主要参考资料
微软官方的MSDN
http://msdn.microsoft.com/zh-cn/library/system.windows.controls.datagridcomboboxcolumn.aspx
-----------------------------------------------------------------------------------------------------------
2013-06-19 补充方法
-------------------------------------------------------------------------------------------------------------
<DataGrid x:Name="gridEmployers" AutoGenerateColumns="False" ItemsSource="{Binding}" DataContext="{Binding}"> --------------- 省略 <DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <ComboBox Text="{Binding Name}" IsEditable="True" DisplayMemberPath="Name" ItemsSource="{Binding Source={StaticResource employers}}" /> </DataTemplat> </DataGridTemplateColumn.CellEditingTemplate> --------------省略 </DataGrid> <Window.Resources> <ObjectDataProvider x:Key="employers" ObjectType="{x:Type local:_2011_12_28_01_Data}" MethodName="GetEmployers"/> </Window.Resources>
相关文章推荐
- WPF使用DataGridComboBoxColumn完成绑定
- WPF datagrid 中 DataGridComboBoxColumn 和 DataGridCheckBoxColumn 使用方法
- [WPF]DataGridTemplateColumn使用ComboBox绑定Dictionary细节记录
- WPF使用DataGridComboBoxColumn完成绑定
- WPF使用DataGridComboBoxColumn完成绑定
- WPF使用DataGridComboBoxColumn完成绑定
- WPF使用DataGridComboBoxColumn完成绑定
- WPF DataGridComboBoxColumn的使用方法
- WPF之DataGrid篇:DataGridComboBoxColumn
- MVVM WPF 使用 datagrid 绑定 comboBox
- wpf datagrid中的 DataGridComboBoxColumn数据绑定
- wpf DataGridComboBoxColumn
- WPF DataGrid – Dynamically updating DataGridComboBoxColumn
- DataGridComboBoxColumn为什么就不能在Binding的时候引用其他Named Element了呢?
- WPF Combobox的使用
- WPF comboBox内字体选择器的简单使用
- WPF 中如何使得DataGrid的Column有鼠标点击相应
- WPF中DataGrid的ComboBox的简单绑定方式(绝对简单)
- WPF DataGrid简介使用
- WPF中DataGrid的使用