2009-08-19 56 views
1

我在WPF项目中使用WindowsFormsIntegration来添加一个DataGridView,并且我只是在窗口中绘制了一些问题(它需要一段时间)。DataGridView在WPF中绘制错误

我知道与doublebuffered datagridview的解决方案,但你如何使用XAML的WPF或C#的WPF?

使用WindowsFormsIntegration或任何替代解决方案的WPF中的doublebuffered datagridview的一个例子将真正感谢!

谢谢你提供的任何帮助!


编辑:

我使用微软的Expression Blend 2接口和我注意到它生成的资源字典。删除那里的一些样式实际上解决了部分问题,但我仍然遇到同样的问题。导致使包含DataGridView的GroupBox可见的操作是:单击一个选项卡控件,然后选择一个RadioButton。一旦某个RadioButtion被选中,某个GroupBox就会变得可见。它包含WindowsFormsIntegration主机本身包含DataGridView,但WindowsFormsIntegration不会出现(或未绘制),直到我拿起鼠标并将其放在GroupBox内的按钮上...是Expression Blend对我的问题负责?

回答

3

Infragistics使用免费的和完全真棒本地WPF数据网格,使用windows窗体集成数据网格的一个很好的选择。他们称之为xamDataGrid控件,绝对相信我。我介绍一些重要的布朗尼点将它引入我公司的应用程序。

下载页面在这里:http://www.infragistics.com/dotnet/netadvantage/wpf.aspx?panel=Downloads#Downloads

概述页面:http://www.infragistics.com/dotnet/netadvantage/wpf/xamdatagrid.aspx#Overview

的NetAdvantage对WPF快讯2009卷。 1让你开始与 xamDataGrid™为WPF开发(这 是不是试用并提供真正的 xamDataGrid版本9.1;没有购买 需要使用它在你的 应用程序)。

+1

酷,我不知道Infragistics提供免费控件... – 2009-09-18 23:25:45

1

我知道与 doublebuffered datagridview的解决方案,但你如何 可以使用这个在XAML的WPF或 C#为WPF?

除了促进WPF应用程序与其他类型的Microsoft Windows应用程序(Windows窗体)之间的现有互操作以外,没有什么特别的使用此解决方案。

您对此类主题的第一站应该是WPF Migration and Interoperability。特别是,你会发现有演练了​​两个场景(我知道你这个已经覆盖,只是为了完整性):

  • Walkthrough: Hosting a Windows Forms Control in Windows Presentation Foundation by Using XAML
  • Walkthrough: Hosting a Windows Forms Control in Windows Presentation Foundation(仅通过C#代码)
    • 这些演练基于 MaskedTextBox Class,但您应该可以轻松地将其适用于 DataGridView Class

      托管从DataGridView衍生代替,说CustomDataGridView的自定义类所需的附加步骤,再次覆盖在演练:

      这个例子,是一种复合的控制,显然比根据您想要实现的existing solution简单派生的CustomDataGridView复杂得多,但您可以简单地跳过多余的步骤,仍然找到al l有关此自定义控件的装配参考的元信息等。

      这就是说,考虑到你的编辑我不认为缺少双缓冲实际上是导致的问题,虽然它可能确实补救效果,因此我暂时将这个实验留给你 - 祝你好运!

    +0

    我会看看那些演练。谢谢! – Partial 2009-09-16 00:17:57

    +0

    使用System.Windows.Forms.Integration.WindowsFormsHost的子属性给了我一些关于某事的想法...但我现在不能尝试。它必须是明天。我会告诉你我的进展。 – Partial 2009-09-16 00:46:24