C# Windows 8,Windows Phone 8 WP8,使用程式碼動態產生StackPanel。

  • 1893
  • 0
  • C#
  • 2015-06-10

一般我們在撰寫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囉!

 

 

 

 

文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
轉載請註明出處,並且附上本篇文章網址 !  感謝。

SUKI

HOLIESTAR