WPF對話框相關實現方法介紹
作者:佚名
WPF對話框中的非模式對話框可以通過一段VC++代碼來實現。在本文中將會給出具體的代碼示例,希望大家可以理解。
WPF對話框的實現方式可以用很多種。我們在這篇文章中會為大家帶來有關非模式對話框的一些市縣方法。希望對大家有些幫助。#t#
用VC++ 要實現非模式WPF對話框的,可以用下面的代碼:
- if(!IsWindow
(m_myDlg.m_hWnd)) - {
- m_myDlg.Create
(IDD_MY_DLG,this); - }
但是WPF中的窗口沒有句柄,實現非模式對話框就比較麻煩,特別是在主窗口中需要多次顯示某個非模式對話框時。
查了一些資料,可以在執行非模式對話框的Closing事件的時候做些手腳:在主窗口類中定義非模式對話框(ShowImage)
- ShowImage showImage =
new ShowImage();- #region 顯示/關閉
圖像處理的窗口- delegate void
ShowImgWinHide();- private ShowImgWinHide
showImgWillHide;- private void HideShowImgWin()
- {
- this.showImage.Hide();
- }
- #endregion
在WPF對話框主窗口類的構造函數里:
- this.showImgWillHide =
new ShowImgWinHide(this.
HideShowImgWin);- this.showImage.Closing +=
new CancelEventHandler
(ShowImg_Closing);- void ShowImg_Closing(object
sender, CancelEventArgs e)- {
- e.Cancel = true;
- Dispatcher.BeginInvoke
(System.Windows.Threading.
DispatcherPriority.Normal,
this.showImgWillHide);- }
在主窗口類的顯示非模式的事件里:
- showImage.Show();
這樣在WPF對話框主窗口就可以反復調用顯示非模式了。
責任編輯:曹凱
來源:
博客園