2012-02-22 56 views
0

我一直在尋找棱鏡來承載一箇舊的Winforms應用程序。這是我們從我們公司的Winforms - > WPF遷移中使用的。但是,我遇到了一些問題。在WPF主機中刷新winforms控件的問題?

總之我有一個項目概述如下所示:

項目大綱

DataManager的WPF項目

MEF模塊上初始化註冊與區域經理和引用舊的WinForms視圖項目 - 視圖 - 其中包含一個WPF UserControl並具有指向舊的winforms項目的主視圖的WindowsFormsHost。

DataManager的WinForms項目 包含的舊模塊需要與意見

主機 被intialized包含外殼和引導程序 - 殼牌在其中的WPF的DataManager查看被注入到主區域。

所以我遇到的問題如下。舊的Winforms視圖通過新的WPF視圖在WPF shell中正確加載。但是,此後添加到視圖的任何內容都不會更新。我試着在屏幕上添加一些按鈕。我也嘗試清除所有的控件。

環顧這裏,我接受了聽取Size Changed事件並在WPFHost上調用Child.Refresh的建議,但這仍然無效。

這是一個WPF具體問題像這裏討論:Does WPF refresh drawing similar to Windows Forms?

或者是它與不在區域經理正確地刷新視圖的問題嗎? WPF, Prism v2, Region in a modal dialog, add region in code behind

這兩者似乎都不起作用!

也許我需要在winforms控件本身中重繪或重繪? 編輯:在更新UI後調用Refresh()並不能解決問題。

編輯2:在舊的Winforms(.net 2.0)應用程序中也嘗試過這種方法,它顯示正確!

+0

好吧,我添加了一個標準的winforms項目,而不是我使用的遺留項目,它的工作。它可能會遺漏舊式winforms項目初始化中的一些步驟。 – oliveromahony 2012-02-24 00:52:57

回答

0

好吧,我添加了一個標準的winforms項目,而不是我使用的遺留項目,它的工作。它可能會遺漏舊式winforms項目初始化中的一些步驟。