小山的blog(dategrid)

在WPF(Windows Presentation Foundation)中,DataGrid是一个用于显示表格数据的控件。如果你想在DataGridComboBoxColumn中使用枚举类型作为下拉列表的数据源,并允许用户选择,确实可以做到。你可以通过以下几个步骤实现: 1. 首先,你需要创建一个包含枚举类型的`DependencyProperty`,这将作为你的组合框(ComboBox)的ItemsSource。例如,如果你有一个名为`MyEnum`的枚举类型,可以在你的自定义控制或ViewModel里这样做: ```csharp public static readonly DependencyProperty ItemsSourceProperty = DependencyProperty.Register("ItemsSource", typeof(IEnumerable<MyEnum>), typeof(MyCustomColumn)); ``` 2. 然后,在你的`DataGridComboBoxColumn`的初始化或属性设置中,设置`ItemsSource`: ```csharp <DataGridComboBoxColumn Header="Header Name" x:Name="myComboBoxColumn"> <DataGridComboBoxColumn.ItemsSource> <Binding Path="ItemsSource" ElementName="myCustomControl"/> </DataGridComboBoxColumn.ItemsSource> </DataGridComboBoxColumn> ``` 3. 最后,在你的视图模型(ViewModel)中,你可以将枚举值转换成字符串数组,以便于显示: ```csharp private IEnumerable<MyEnum> _itemsSource; public IEnumerable<MyEnum> ItemsSource { get => _itemsSource; set { _itemsSource = value; OnPropertyChanged(); } } public object[] ComboBoxDisplayValues { get { return _itemsSource.Select(e => e.ToString()).ToArray(); } } ``` 现在,DataGridComboBoxColumn会根据`ComboBoxDisplayValues`中的字符串来填充下拉列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值