在WPF佈局框架中,若是標籤不設置佈局屬性,系統默認爲填充模式。固然,咱們能夠經過一系列標籤的屬性來達到佈局標籤的做用。框架
最多見的屬性是Width和Height,是指定標籤的寬和高。ide
MinWidth,MinHeight是指標籤的最小寬度和最小高度,即便父容器的寬和高小於這個數字,標籤也保持這個值。佈局
MaxWidth,MaxHeight是指標籤的最大寬度和最大高度。orm
最小和最大Width,Height將將會在一個固的區間來調整標籤的大小。blog
HorizontalAlignment是標籤在當前容器中左中右的停靠。VerticalAlignment是標籤在當前容器中上中下的停靠。這兩種停靠都是創建在父容器內的,只有父容器內大於標籤是才能看到效果。get
Margin,是一個獨特的屬性,它的值有三種狀況,單值,表示該標籤距父容器四周的距,兩個值,第一個值爲標籤距父容器左右的距離,第二個值是標籤距父器上下的距離,四個值,分別距父容器左,上,右,下的距離。若是存在Width和Height屬性,它們的優先級要高於Margin。但通常狀況了,兩種屬性的設置不會同時出現,Width和Height更強調固態的值,Margin強調隨性的值,但它距邊緣是固定的。it
Padding和Margin類似,不一樣的是Padding是指標籤內容與標籤邊界的距離。form
Panel.ZIndex是一個層次的屬性,這個值表示標籤自己在父容器上位於那一層,值越大,越位於上層。能夠用Panel.SetZIndex(標籤名, 3);來設置標籤元素的層次。模板
RenderTransofrm是一個縮放的屬性,就是對當前標籤的直接縮放,例子以下:class
<Button Content="123" ;50" Height="20" Click="Button_Click" >
<Button.RenderTransform>
<ScaleTransform ScaleX="0.5" ScaleY="0.5">
</ScaleTransform>
</Button.RenderTransform>
</Button>
C#代碼:
button1.RenderTransform = new ScaleTransform(2, 2);
LayoutTransform是一個旋轉的屬性
<Button Name="button1" Content="123" ;50" Height="20" >
<Button.LayoutTransform>
<RotateTransform Angle="45"></RotateTransform>
</Button.LayoutTransform>
</Button>
C#代碼:
button1.LayoutTransform = new RotateTransform(90);
轉換的類型還有MatrixTransform,如
<Button Name="button1" Content="123" ;50" Height="20" >
<Button.LayoutTransform>
<MatrixTransform Matrix="3, 1, 1, 3, 0, 0"></MatrixTransform>
</Button.LayoutTransform>
</Button>
C#代碼:
button1.LayoutTransform = new MatrixTransform(3, 1, 1, 3, 0, 0);
上面的轉換是用矩陣的方式實現,下面從x和y軸上來創建轉換:
<Button.LayoutTransform>
<SkewTransform AngleX="30" AngleY="30" ></SkewTransform>
</Button.LayoutTransform>
C#代碼:
button1.LayoutTransform = new SkewTransform(10, 30, 20, 140);
上面都是佈局標籤的一些屬性,經過這些屬性,配合模板,可能使整個程序更加完美統一。