一般我們在撰寫Windows Store App 或 Windows Phone 時,常常會利用Xaml來排版,但是在Xaml上排版就是死的,若我們的資料是不固定的且是變動、格式不固定的,或許我們可以利用C#程式碼動態創建Xaml上的控制項,如我們常用的StackPanel。
本篇文章將引導您使用C#程式碼動態產生StackPanel。
一般我們在撰寫Windows Store App 或 Windows Phone 時,常常會利用Xaml來排版,但是在Xaml上排版就是死的,若我們的資料是不固定的且是變動、格式不固定的,或許我們可以利用C#程式碼動態創建Xaml上的控制項,如我們常用的StackPanel。
本篇文章將引導您使用C#程式碼動態產生StackPanel。
假設我們要設計一個StackPanel中加入一StackPanel的話,中常在Xaml中我們會這樣寫。
1: <StackPanel
2: x:Name="StackPanel_Large"
3: VerticalAlignment="Center"
4: HorizontalAlignment="Center"
5: Orientation="Vertical"
6: Background="White" Height="200" Width="200">
7: <StackPanel x:Name="StackPanel_Small" Width="50" Height="60"/>
8: </StackPanel>
若我們要在StackPanel底下新增子控制項時必須先取得StackPanel.Children才能新增,
寫法如下
Windows Phone:
1: StackPanel StackPanel_Large = new StackPanel()
2: {
3: VerticalAlignment=VerticalAlignment.Center,
4: HorizontalAlignment=HorizontalAlignment.Center,
5: Orientation = System.Windows.Controls.Orientation.Vertical,
6: Background=new SolidColorBrush(Colors.White)
7: };
8: StackPanel StackPanel_Small = new StackPanel()
9: {
10: Width=50,
11: Height=60
12: };
13: StackPanel_Large.Children.Add(StackPanel_Small);
Windows Store App:
1: StackPanel StackPanel_Large = new StackPanel()
2: {
3: VerticalAlignment=VerticalAlignment.Center,
4: HorizontalAlignment=HorizontalAlignment.Center,
5: Orientation = Orientation.Vertical,
6: Background=new SolidColorBrush(Colors.White)
7: };
8: StackPanel StackPanel_Small = new StackPanel()
9: {
10: Width=50,
11: Height=60
12: };
13: StackPanel_Large.Children.Add(StackPanel_Small);
要注意 : 在Windows Store App 與Windows Phone 的Orientation寫法稍微有不同,請參閱[筆記]C# Windows Phone 8 WP8 開發,找回StackPanel底下Orientation消失的屬性。
。
如此一來我們便可以在C#程式碼中動態產生StackPanel囉!
文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
轉載請註明出處,並且附上本篇文章網址 ! 感謝。