1

我在 WPF 项目中使用 WindowsFormsIntegration 来添加 DataGridView,但我只是在窗口中绘制它时遇到了一些问题(这需要一段时间)。

我知道双缓冲数据网格视图的解决方案,但是如何在 XAML 中为 WPF 或在 C# 中为 WPF 使用它?

WPF 中带有 WindowsFormsIntegration 或任何替代解决方案的双缓冲 datagridview 示例将不胜感激!

感谢您提供的任何帮助!


编辑:

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

4

2 回答 2

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

WPF Express 2009 卷的 NetAdvantage。1 让您开始使用用于 WPF 开发的 xamDataGrid™(这不是试用版,并且具有真正的 xamDataGrid 9.1 版;无需购买即可在您的应用程序中使用它)。

于 2009-09-18T23:11:57.107 回答
1

我知道双缓冲数据网格视图的解决方案,但是如何在 XAML 中为 WPF 或在 C# 中为 WPF 使用它?

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

关于此类主题的第一站应该是 WPF迁移和互操作性。特别是你会发现这两种情况的演练(我意识到你已经涵盖了这个,只是为了完整性):

这些演练基于 ,MaskedTextBox Class但您应该能够DataGridView Class轻松地适应它。

托管派生自的自定义类所需的其他步骤DataGridView,例如CustomDataGridView,在演练中再次介绍:

这个示例,作为一个复合控件,显然比根据您要实现CustomDataGridView现有解决方案的简单派生更复杂,但是您可以简单地跳过多余的步骤,仍然可以找到有关此自定义控件的程序集引用等的所有元信息覆盖。

也就是说,鉴于您的编辑,我不认为缺少双缓冲实际上是导致问题的原因,尽管它确实可以解决这个问题,因此我暂时将这个实验留给您 - 祝你好运!

于 2009-09-15T22:30:58.390 回答