我有一個通過COM從第三方RAD應用程序(Omnis Studio)調用的類庫,該庫提供.NET功能,如SQL/Web服務橋接。我不得不添加更多的方法來顯示一個WPF表單,它將事件觸發回原始應用程序。加載Microsoft.Windows.Common-運行時控件
這一切都正常工作,該項目必須是類庫,不能是一個可執行文件,這意味着我不能在應用程序選項選項卡中選擇該項目的清單。我現在面臨的主要問題是,如果在我的清單文件中沒有下面的XML片段,我無法獲得現代的Windows對話框按鈕,因此消息框中的按鈕看起來有些過時。
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
那麼,有沒有辦法,我可以從具有清單文件中的那些行達到同樣的效果,但在入口點類的定製代碼執行圖書館?
感謝
保羅
編輯
要爲Rahmound的評論添加澄清:
我不認爲你明白的問題。首先,我沒有提到這是一個Windows窗體應用程序,項目中只有零個Windows窗體組件引用,只有WPF表示程序集。該項目必須是類庫,因爲THIRD應用程序(這是一個C++非託管應用程序)只能使用.NET類庫,所以需要顯示一個非常自定義的表單,這可以在當前項目中實現,而我選擇WPF是因爲這是我的大部分桌面應用程序技能所在,它適合WPF的數據綁定模型。我們對最終結果感到非常滿意,唯一的問題是我的應用程序需要使用XP +主題Windows控件,如果上面的部分不在app.manifest中,那麼消息框使用舊式OK,取消按鈕不符合我在我的應用程序中的所有其他按鈕。
This question explains the message box problem
我需要的是能夠實現同樣的事情,但不具有嵌入式app.manifest。
當您的應用程序的其餘部分是Windows窗體時,爲什麼使用WPF?此外,如果你需要一個「類庫」,你爲什麼使用創建一個WPF應用程序開始?我應該補充說,你可以在Windows窗體中託管WPF內容。 – 2012-03-08 17:38:04
@Ramhound我追加到我的問題進一步的信息。 – 2012-03-09 08:58:40
主EXE中的清單選擇所有應用程序窗口中使用的視覺樣式。包括你的。這是WPF應用程序中的一個奇怪問題,樣式是它的中間名。創建你自己的MessageBox,我想。 – 2012-03-09 09:15:34