在Windows Store App 或 Windows Phone App 時,很容易因為資料太多無法呈現小的螢幕上,所以ScrollViewer就是我們可能會考慮選擇的控制項,來幫完成捲動的功能,一般我們會在Xaml中排版,但若您的資料數量不固定或是一次需要不固定數量的ScrollViewer怎麼辦呢?!此時就可以透過C#程式碼動態產生ScrollViewer。
本篇文章將引導您使用程式碼動態產生ScrollViewer。
在Windows Store App 或 Windows Phone App 時,很容易因為資料太多無法呈現小的螢幕上,所以ScrollViewer就是我們可能會考慮選擇的控制項,來幫完成捲動的功能,一般我們會在Xaml中排版,但若您的資料數量不固定或是一次需要不固定數量的ScrollViewer怎麼辦呢?!此時就可以透過C#程式碼動態產生ScrollViewer。
本篇文章將引導您使用程式碼動態產生ScrollViewer。
一般我們會在Xaml中這樣編輯,並在ScrollViwer底下加入可以捲動的內容:
SrollViewer : scroll_viewer
StackPanel : SrollViewer _Content
1: <ScrollViewer
2: x:Name="scroll_viewer"
3: ZoomMode="Disabled"
4: VerticalScrollBarVisibility="Auto"
5: HorizontalScrollBarVisibility="Disabled"
6: VerticalAlignment="Center"
7: HorizontalAlignment="Center"
8: Height="500">
9: <StackPanel x:Name="ScrollViewer_Content" Height="2000" />
10: </ScrollViewer>
但是在C#中開如何編輯呢?!
1: ScrollViewer scroll_viewer = new ScrollViewer()
2: {
3: ZoomMode=ZoomMode.Disabled,//禁用縮放
4: VerticalAlignment=VerticalAlignment.Center,//垂直置中對齊
5: HorizontalAlignment=HorizontalAlignment.Center,//水平置中對齊
6: VerticalScrollBarVisibility = ScrollBarVisibility.Auto,//垂直卷軸自動開啟
7: HorizontalScrollBarVisibility = ScrollBarVisibility.Disabled,//禁用水平卷軸
8: Height = 500//指定scroll_viewer高度
9: };
10:
11: StackPanel ScrollViewer_Content = new StackPanel()
12: {
13: Height = 2000//指定ScrollViewer_Content高度
14: };
15:
16: scroll_viewer.Content = ScrollViewer_Content;
要注意ScrollViwer底下只能有一個子控制項,並非像StackPanel、Grid一樣可以容納多個控制項,最好的辦法就是把所有想要捲動的內容放在同一個控制項中,再放入ScrollViwer底下,如本篇範例所示。
如此一來就學會了使用程式碼動態產生ScrollViewer。
References : ScrollViewer class
文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
轉載請註明出處,並且附上本篇文章網址 ! 感謝。