2014年8月8日 星期五

WPF 命名空間

x:Class
程式的事件與邏輯運算由 code-behind 完成。
<object x:Class=”namespace.classname”>
………………………………………
</object>

x:Name
唯一識別 xaml 定義的物件。 x:Name 與 Name 的效果是一樣的,但不能同時出現在同一元素。
<Button x:Name=”btn”…./>
<Button Name=”btn”…./>

x:Key
在 xaml 文件中,我們可以把很多需要多次使用的內容提取出來放在資源字典裡,需要使用這個資源的時候就將 Key 給檢索出來。
x:Key 的作用就是為資源貼上用於檢索的索引。在 WPF 中,幾乎每個元素都有自的 Resources 屬性。
<Window x:Class="Inventory.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="392" Width="533"
xmlns:d="clr-namespace:System;assembly=mscorlib"
ResizeMode="NoResize">
<Window.Resources>
<d:String x:Key="myString">Hello</d:String>
</Window.Resources>
<Grid>
<StackPanel>
<TextBox Text="{StaticResource ResourceKey=myString}" Margin="5" />
<TextBox x:Name="txbBox" Margin="5"/>
<Button x:Name="btn" Content="ok" Click="btn_Click"/>
</StackPanel>
</Grid>
</Window>
為了在此例中可以讓我們使用 String 類別,我們需要引用類別庫 mscorlib.dll ,因此在 XAML 中,我們要加入 xmlns:sys=”clr-namespace:System;assembly=mscorlib”。sys 是自訂義的名稱空間。然後我們在 tag <Window.Resources> 中加入剛剛引用的名稱空間 <sys:String x:Key=”myString”> 並給 x:Key 一個值 “myString”。所以此例中的 TextBox 的 Text = Hello。

沒有留言:

張貼留言