文章目錄
和所有類一樣,視窗也有生存期,在第一次執行個體化視窗時生存期開始,然後就可以開啟、啟用和停用視窗,直到最終關閉視窗。
開啟視窗
若要開啟視窗,首先應建立一個視窗執行個體,這個功能由Application來完成:
1 <Application x:Class="XAMLDemo.App"
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 StartupUri="Window1.xaml">
5 <Application.Resources>
6
7 </Application.Resources>
8 </Application>
上面的代碼中StartupUri指示的是這個執行個體的XAML文檔,也是這個應用程式的預設視窗類別。當然也可以使用Startup屬性,定義一個事件,代碼如下:
1 <Application
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 x:Class="XAMLDemo.App"
5 Startup="app_Startup">
6 </Application>
其中App必須繼承Application類,並實現void app_Startup(object sender, StartupEventArgs e)在這裡初始化一個類,並調用Show來顯示視窗。
註:ShowDialog方法來模式開啟視窗,含有隸屬之意,如對話方塊等等。
視窗所屬權
在使用Show方法或在XAML的StartupUri開啟的視窗與建立它的視窗之間沒有隱式關係,如果想建立想MDI那樣的視窗所屬關係,可以使用Owner屬性。
建立了所屬權之後:
視窗啟用
當第一次開啟視窗時就會啟用,則響應Activated事件,停止啟用時將響應Deactivated事件。處理 Activated 和 Deactivated 的一個常見原因是為了啟用和禁用只有在視窗活動時才能夠啟動並執行功能。例如,某些視窗顯示的互動式內容需要持續的使用者輸入或需要使用者時刻注意,包括遊戲和視頻播放機。
關閉視窗
響應closing和closed事件。
慢慢學習!