DataGridView在WPF中绘制错误

时间:2009-08-19 04:25:45

标签: c# .net wpf forms windowsformsintegration

我在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是否对我的问题负责?

2 个答案:

答案 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更复杂,但你可以简单地跳过多余的步骤,仍然可以找到所有元有关此自定义控件等的程序集引用的信息。

那说,鉴于你的编辑,我不认为缺少双缓冲实际上是造成问题,虽然它可能确实可以弥补效果,因此我会把这个实验留给你时刻 - 祝你好运!