簡體   English   中英

從WPF窗口啟動的Windows窗體未顯示當前系統主題。 為什么?

[英]Windows Form launched from WPF window showing no current system theme. Why?

我有一個WPF應用程序,它的變量“ x”是自定義C#程序集“ MyClasses.dll”中類的實例。 此變量“ x”具有方法“ LaunchForm”,該方法從另一個程序集“ MyForms.dll”啟動Windows窗體“ Form1”。 該窗體以對話框形式啟動並顯示在屏幕上,但是當前的Windows XP / Win7主題/皮膚未應用到該窗體。 如果從Windows窗體(不是WPF窗口)啟動此“ Form1”,則可以正確顯示。 任何想法為什么會這樣? 有解決此問題的提示嗎?

歡呼大家! 埃德加

我只是再次查看了代碼,並且在啟動winform的這種方式中沒有使用反射。 請求的代碼在WPF中:

MyInterface x = new MyClass1(); x.LaunchForm();

MyClasses.dll中的代碼:

公共類MyClass1():MyInterface {public MyClass1(){} public void LaunchForm(){Form1 Form1Dialog = new Form1(); Form1Dialog.ShowDialog(); }}

如前所述,這從WPF啟動winform,但沒有將Windows主題應用到它。

可能您沒有適當的清單來告訴Windows您與新主題兼容(WPF不需要它)。

我在我的博客上( http://www.nbdtech.com/Blog/archive/2008/06/16/The-Application-Manifest-Needed-for-XP-and-Vista-Style-File.aspx)上寫過有關它的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM