發表文章

目前顯示的是 3月, 2012的文章

WPF Data Binding 基礎練習

圖片
良好的資料繫結作法可以: 讓開發人員在擅長的領域中, 操作資料 (物件, 變數) 而視覺設計者有更大得彈性, 可以任意新增、修改、刪除 XAML 中的控制項 "資料繫結" 的主要原則: 將資料透過繫結控制項後 後續要取得使用者輸入的值時, 直接從物件讀取 , 而非控制項。

{範例} WPF 應用程式框架設計

圖片
在前一篇( WPF Base Control 設計要項 ) 有提到如何在 User Control 中關閉父視窗, 本文範例是再延伸設計, 通常一個應用程式中會實作許多的視窗與控制項, 如何讓這些控制項與視窗之前, 保持著有關係而且可以是鬆散的架構.

{範例} WPF Base Control 設計要項

在 WPF 程式新增一個 UserControl 時, 預設是繼承自 System.Windows.Controls.UserControl, 若將父層換為自己所撰寫的類別, Base Control 程式碼如下: namespace WpfControlBase { public class ControlBase : UserControl { public System.Windows.Window ParentWindow { get; set; } } } 在繼承的 UserControl 中有兩個步驟 1. C# 或 VB 檔案中, UserControl 中繼承此類別 public partial class UserControl1 : WpfControlBase.ControlBase { } 2. 修改 xaml 檔案的宣告 < WpfCB:ControlBase x:Class ="CloseShowDialog.UserControl1" xmlns:WpfCB ="clr-namespace:WpfControlBase;assembly=WpfControlBase" > 筆者有個案例是, 在 UserControl 中要關閉視窗, 透過 Parent 找不到 Windows 物件, 暫時想到的解決方法是, 每一次動態載入UserControl 時, 透過 BaseControl 將視窗傳入, 後續要關閉視窗就由此屬性進行。 download code 以上是參考 < wpf user control base class problem > 討論.

{範例} WPF在Windows XP上播放音效

圖片
要在WPF中播放音效,透過 Multimedia 相關的API可以很容易完成 (可參閱: http://msdn.microsoft.com/en-us/library/aa970915.aspx )。 但若需要在Windows XP上執行,需要注意幾件事: