WPF DataGrid 中的DataGridComboBoxColumn 使用

 

步骤一、新建枚举类型

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>

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/babietongtianta/archive/2012/01/13/2321241.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值