【发布时间】:2011-11-02 08:32:43
【问题描述】:
我有一个简单的问题,我认为没有简单的解决方案。我的 WPF DataGrid 中的某些网格列需要一个多列组合框。是否有已知的最佳实践来实现这一目标?根据我收集到的信息,这将需要对 DataGridComboBoxColumn 进行子类化以支持自定义 ComboBox。
我找到了一些示例,但不支持 EF 实体(我使用的是 Code First EF)。
非常感谢任何建议。谢谢
注意:这一切都是用 C# 动态完成的。我没有使用 XAML 来定义列。
更新:我所说的多列的意思是,当您将 ComboBox 放下时,我需要为“Display”显示两个值,即使在幕后我当然仍然只是存储一个身份证。
请看这里:。 http://www.telerik.com/ClientsFiles/188010_multicolumn-dropdown.JPG
除了我需要将其作为可以动态创建并添加到网格中的 DataGridColumn 来执行之外,而不仅仅是图像中显示的简单组合。
更新 我终于在 CodeProject 上找到了一篇文章,作者根据我的 -exact- 要求开发了一个控件。它位于here。现在我要解决的唯一问题是如何在使用实体框架时允许控件工作(特别是代码优先)。越来越近了!
【问题讨论】:
-
对于阅读此内容的其他人,我必须修改 CustComboBox.cs 文件中的 popupDataGrid_MouseDown 事件以仅设置 SelectedItem,而不是 SelectedValue,因为这会在我绑定到 SelectedItem 时导致堆栈溢出在 XAML 中。
标签: wpf datagrid dynamic datagridcomboboxcolumn multiple-columns