2009-08-19 34 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