建立
xmlns=""
xmlns:x=""
其中比較關鍵的是指定了startupuri關閉
事件處理
// 1. 關聯事件處理程式
// xaml
// cs檔案
// 2. 直接複寫
protected override void onactivated(eventargs e)
onsessionending方法如果監聽,設定e.cancel = true,則系統的關閉,登出都會被阻止。
顯示初始load
專案中載入乙個
設定屬性,將 生成操作 屬性修改為splashscreen
處理命令列引數
獲取視窗例項
// 獲取應用程式例項
// 獲取主窗體
// 所有開啟的視窗引用,注意視窗在集合中的位置不是固定的,不能通過乙個數字索引來確定窗體
視窗間資訊互動
// 定義
prop listdocuments
// 在程式中任意位置使用
// 在使用的時候可以把document作為所有要跟蹤的視窗的基類
單例應用程式
如果我們的應用程式只能開啟乙份,比較容易想到的方法是在startup方法中,判斷是否有應用程式已經開啟,可以判斷程序,並且關閉本軟體。但是這種方法無法實現像word那樣,開啟doc檔案如果office已經開啟就在當前例項中開啟這個檔案,原因是按照我們原來的方法,當開啟軟體走到startup的時候,已經是新的應用程式了。要實現這樣的功能我們需要這樣的方法:
新增對於microsoft.visualbasic.dll的引用
建構函式中設定issingleinstance為true
複寫onstartup方法,建立wpf物件
protected override bool onstartup(
// direct multiple instances
protected override void onstartupnextinstance(
}} // an observablecollection is a list that provides notification
// when items are added, deleted, or removed. it's preferred for data binding.
private observablecollectiondocuments =
new observablecollection();
public observablecollectiondocuments
set
}
public void showdocument(string filename)
catch
}}
使用startup啟動應用程式:
public class startup
}
如果只需要在多開的時候關閉當前應用並且將之前的啟用,用下面的方法即可
platform.log.logfornet.loghelper.init();
}[dllimport("user32.dll")]
private static extern bool setforegroundwindow(intptr hwnd);
[dllimport("user32.dll")]
private static extern bool showwindowasync(intptr hwnd, int ncmdshow);
[dllimport("user32.dll")]
private static extern bool isiconic(intptr hwnd);
/// /// 啟用已開啟視窗
///
public static void raiseotherprocess()
setforegroundwindow(hwnd);
break;}}
}
WPF高階教程(十四)程式集資源
wpf中的資源分為兩類 其中,程式集資源指的是軟體開發中用到的,聲音,xml檔案等資源,這些資源被新增到專案中之後會被嵌入到編譯過得程式集中,會被編譯成二進位制資料。而物件資源是一些.net物件,希望能夠一次定義多次使用,包括畫刷,樣式,模板等。應用程式資源包括 音訊等應用程式需要使用的檔案,他們將...
WPF高階教程(十一)繫結說明
繫結是一種關係,告訴目標物件使用原物件的一些資訊設定其屬性值。繫結關係分為很多種,但是本質上來說是目標物件的屬性和源物件的屬性進行繫結。我們這裡我們要求 通過上面的說明我們發現,繫結這塊的內容還是比較多的,其複雜表現在源物件的型別比較多變,我們將其分為兩類 要實現乙個屬性變化,另乙個屬性跟著變化這樣...
WPF入門教程系列十六 WPF中的資料繫結 二
通過上一文章中的示例,學習了簡單的繫結方式。在這裡的示例,要學習一下繫結的模式,和模式的使用效果。首先,我們來做乙個簡單示例,這個示例是根據listbox中的選中項,去改變textblock的背景色。將 textblock 的背景色繫結到在 listbox 中選擇的顏色。在下面的 中針對textbl...