我在WPF项目中使用WindowsFormsIntegration来添加DataGridView,我在窗口中绘制时遇到了一些问题(需要一段时间)。
我知道doublebuffered datagridview的解决方案,但是如何在WPAM的XAML或WPF的C#中使用它?
WPF中带有WindowsFormsIntegration或任何替代解决方案的双缓冲数据网格视图的一个示例真的很感激!!
感谢您提供的任何帮助!
修改
我正在使用Microsoft Expression Blend 2作为界面,我注意到它生成了一个资源字典。删除那里的一些样式实际上解决了部分问题,但我一直遇到同样的问题。导致使包含DataGridView的GroupBox可见的操作是:单击选项卡控件然后选择RadioButton。选中某个RadioButtion后,某个GroupBox变为可见。它包含WindowsFormsIntegration主机,它本身包含DataGridView但是WindowsFormsIntegration没有出现(或者没有绘制),直到我把鼠标放在GroupBox内的按钮上... Expression Blend是否对我的问题负责?
答案 0 :(得分:3)
使用Windows格式集成数据网格的一个很好的替代方法是使用Infragistics的免费和完整的原生WPF数据网格。他们称之为xamDataGrid控件,绝对美丽相信我。我将一些主要的布朗尼点引入我公司的应用程序中。
下载页面位于:http://www.infragistics.com/dotnet/netadvantage/wpf.aspx?panel=Downloads#Downloads
概述页面:http://www.infragistics.com/dotnet/netadvantage/wpf/xamdatagrid.aspx#Overview
NetAdvantage for WPF Express 2009 Vol。 1让你开始 用于WPF开发的xamDataGrid™(这个 不是审判,具有真实性 xamDataGrid版本9.1;没有购买 有必要在你的 应用)。
答案 1 :(得分:1)
我知道解决方案 doublebuffered datagridview但是如何 你可以在XAML for WPF中使用它吗? C#for WPF?
除了促进WPF应用程序与其他类型的Microsoft Windows应用程序(Windows Forms)之间的现有互操作之外,使用此解决方案没有什么特别之处。
关于此类主题的第一站应该是WPF Migration and Interoperability。特别是你会发现两种场景的演练(我知道你已经覆盖了,只是为了完整性):
这些演练基于MaskedTextBox Class
,但您应该可以轻松地将其调整为DataGridView Class
。
主播来自DataGridView
的自定义类所需的其他步骤,比如CustomDataGridView
,再次在演练中介绍:
这个例子,作为一个复合控件,显然比你想要实现的existing solution的简单派生CustomDataGridView
更复杂,但你可以简单地跳过多余的步骤,仍然可以找到所有元有关此自定义控件等的程序集引用的信息。
那说,鉴于你的编辑,我不认为缺少双缓冲实际上是造成问题,虽然它可能确实可以弥补效果,因此我会把这个实验留给你时刻 - 祝你好运!