載入WPF界面時,需要獲取數據,而數據返回的時間比較長,這個時候可以非同步載入數據到界面。 1、首先在XAML中觸發視窗載入事件 2、在後臺代碼中處理視窗載入事件 (1)找到主視窗類 (2)在MainWindow類中添加 XAML中加入的視窗載入事件 這個事件中可以放置各種界面預處理代碼 new Th ...
載入WPF界面時,需要獲取數據,而數據返回的時間比較長,這個時候可以非同步載入數據到界面。
1、首先在XAML中觸發視窗載入事件
2、在後臺代碼中處理視窗載入事件
(1)找到主視窗類
(2)在MainWindow類中添加 XAML中加入的視窗載入事件
這個事件中可以放置各種界面預處理代碼
new Thread(p=>{DataBinding();}).Start();
界面載入時獲取數據和綁定數據都寫在DataBinding()方法中
private void DataBinding()
{
this.Dispatcher.BeginInvoke(new Action(()=>{
//編寫獲取數據並顯示在界面的代碼
}));
}
二、其它事件
1、視窗放大縮小還原處理事件
2、編寫觸發事件MainWindow_Resize
3.視窗關閉事件。closed是視窗關閉之後觸發的事件,closing是視窗關閉之前觸發的事件。
4.隱藏視窗最大化最小化設置。選擇視窗屬性設置為NoResize (ResizeMode=NoResize ),最大化禁用:ResizeMode=CanMinimize
1.Window.Initialized
這個元素已經被構建出來,並且它的屬性值都被設置好了,所以通常都是子元素先於父元素觸發這個事件.當一個元素的 Initialized 事件被觸發, 通常它的子樹都已經初始化完成, 但是父元素還未初始化. 這個事件通常是在子樹的 Xaml 被載入進來後觸發的. 這個事件與 IsInitialized 屬性相互綁定
2.Window.Activatied
獲得焦點事件(會頻繁觸發)
3.Window.Loaded
這個元素不僅被構造並初始化完成,佈局也運行完畢,數據也綁上來了,它現在連到了渲染面上(rendering surface),秒秒鐘就要被渲染的節奏.到這個時候,就可以通過 Loaded 事件從根元素開始畫出整棵樹. 這個事件與 IsLoaded 屬性綁定.
4.Window.ContentRendered
ContentRendered 事件在視窗的內容呈現完畢之後發生。如果該視窗不包含任何內容,則不會引發此事件。(窗體截圖要用此事件)
5.Window.DeActivatied
失去焦點事件(會頻繁觸發)
6.Window.Closing
7.Window.UnLoad
8.Window.Closed
————————————————
整合自:WPF窗體載入的事件順序_wpf 窗體載入事件_ITFU的博客-CSDN博客
https://blog.csdn.net/IQQQQU/article/details/125408728
https://www.cnblogs.com/xiaomianyang/p/6416074.html