WPF基礎知識
可以使用XAML創建任何類,必須是友好聲明,構造函數沒有參數的。
XAML就是.NET語言的一種表現形式。只是和C#書寫格式不一樣而已。
根元素的標記、主窗體標記
x:class、StartupUri="Window1.xaml"
一元素,特性
1、XAML中一個元素可以理解為程序中的一個對象,里面包含對象的類型
特性(元素的特性):一個對象的Public屬性
附加特性:解析到附加特性時將執行一個對應的事件。
Grid.SetRow(控件, 行)
2、程序運行時會自動創建根據XAML中的元素、特性自動創建對象并 設置對象的值。
3、子元素:
3.1、內容
3.2、集合(IList、IDictionary)
3.3、轉換
對象元素的子元素XAML處理規則
IList
IDictionary
內容屬性
轉換
二。命名空間
1、和C#編程環境一樣,引用那個對象需要首相將對象的命名空間添加到當前單元、XAML
也需要添加單元引用,只是格式和C#程序環境有點差別。
兩個通用的命名空間:
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
2、引用其他命名空間格式:
xmlns:自定義=“clr-namespace:對象的命名空間;assembly=DLL名稱”
如果本程序集可以省去assembly
三。擴展標記
1.、應用:設置屬性值使用
2、擴展標記類必須從System.Windows.Markup繼承
3.、使用“{Markup 參數}”
4、執行:創建“Markup”實例->調用Providevalue過程獲取參數中的值。
5、binding留在以后章節。
四。動態加載XAML(XamlReader XamlWrite)
XamlReader.Load()//邊加載,邊解析 XamlWrite.Save(windows)
動態加載例子:
// Get the XAML content from an external file.FileStream s = new FileStream("Window1.xml", FileMode.Open);
DependencyObject rootElement = (DependencyObject)
XamlReader.Load(s);this.Content = rootElement;// Find the control with the appropriate name.//button1 = (Button)LogicalTreeHelper.FindLogicalNode(rootElement, "button1");FrameworkElement frameworkElement = (FrameworkElement)rootElement;
button1 = (Button)frameworkElement.FindName("button1");
// Wire up the event handler.button1.Click += new RoutedEventHandler(button1_Click);

浙公網安備 33010602011771號