Xaml語法概述及屬性介紹

Xaml語法概述
1.命名空間
    xmal每一個元素都對應着一個類,可是在xmal中,只提供類名是不夠的,須要知道該類實在.net的哪一個命名空間下面.Xaml解析器纔可以正確的解析.express

 1 <Page
 2     x:Class="App1.MainPage"
 3     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 4     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 5     xmlns:local="using:App1"
 6     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 7     xmlns:mc="http://schemas.openxmlformats.org/markup-
 8 
 9 compatibility/2006"
10     mc:Ignorable="d"
11     Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
12 
13     <Grid x:Name="RootLayout">
14 
15     </Grid>
16 </Page>
View Code


上面代碼兩個特殊的命名空間,該命名空間會在全部的xmal文檔中都有
  A:xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  B: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
A是WP的核心命名空間,包含了大部分用來構建界面的控件類.該命名空間的聲明沒有使用任何命名空間的前綴,因此它是整個文檔的默認命名空間,因此沒有前綴的元素都自動位於該命名空間下.
?:何爲命名空間前綴

B是Xaml的命名空間,它包含Xmal的實用特性,這些特性影響文檔的解釋方式,這個命名空間具備映射前綴x,即,能夠經過在元素名稱以前放置命名空間前綴,來使用
該命名空間,x:Name="RootLayout"

2.對象元素
xmal文檔中 每個 自閉合 或者 成對閉合的 標籤都是一個對象

c#

<Grid></Grid>  <Button/>

 


3.設置屬性
xmal中的屬性設置,有多種語法,可是並不是所有都的屬性設置都是通用的
  a.使用屬性語法ide

   <Rectangle Name="Rectag" Height="100" Width="100" Fill="Blue"

HorizontalAlignment="Left"/>

 


 
  b.使用屬性元素語法
對象.屬性.  屬性語法的前提 該屬性必須也要是Xaml 的一個對象元素spa

 <Rectangle Name="Rec2" Height="100" Width="100"

HorizontalAlignment="Left">
            <Rectangle.Fill>
                <SolidColorBrush Color="Yellow">
                    
                </SolidColorBrush>
            </Rectangle.Fill>
        </Rectangle>

 


  c.使用內容元素語法.net

<Border>
            <Button Content="Button"/>
        </Border>

 


這種語法 給Border 對象設置了Child屬性 也就是說 咱們能夠直接寫出一個對象

來賦值另個對象的某些屬性,可是隻有特別的一些屬性能夠用這種內容元素語法,

好比元素的Child屬性,Content屬性

  d.使用集合語法
若是屬性的值是一個集合,就須要用集合語法去設置該屬性
c# add方法能夠添加的屬性集合code

 <Rectangle Width="200" Height="150">
            <Rectangle.Fill>
                <LinearGradientBrush>
                    <GradientStopCollection>
                        <GradientStop Offset="0.0"

Color="Coral"></GradientStop>
                        <GradientStop Offset="1.0"

Color="Green"></GradientStop>
                    </GradientStopCollection>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>


有些屬性 既是集合屬性 又是內容屬性

4.附加屬性orm

  <Canvas>
        <Button Canvas.Left="50" Content="0.0"></Button>
    </Canvas>

 


又叫作依賴屬性 button 對象原本是沒有Left屬性的 ,可是該對象 放在Canvas布

局中 ,有了Canvas 的附加屬性來設置 該對象在Canvas中的位置,即 全部Canvas

下面的對象 能夠設置該屬性的對象 都會有該依賴屬性.


5.標記擴展

xml

<StackPanel>
        <TextBlock Text="{Binding Source={StaticResource

my},Path=Per}"></TextBlock>
    </StackPanel>

Binding(綁定)
StaticResource靜態資源
TemplateBinding(模板綁定)
RelativeSource綁定關聯源


對象

相關文章
相關標籤/搜索