WPF使用StackPanel棧面板布局
應(yīng)用程序界面設(shè)計(jì)中,合理的元素布局至關(guān)重要,它可以方便用戶使用,并將信息清晰合理地展現(xiàn)給用戶。WPF提供了一套功能強(qiáng)大的工具-面板(Panel),來(lái)控制用戶界面的布局。你可以使用這些面板控件來(lái)排布元素。如果內(nèi)置布局控件不能滿足需要的話,還可以創(chuàng)建自定義的布局元素。
面板(Panel)
WPF用于布局的面板主要有6個(gè),StackPanel(棧面板)、WrapPanel(環(huán)繞面板)。DockPanel(??棵姘澹?、Canvas(畫布)、Grid(網(wǎng)格面板)和UniformGrid(均布網(wǎng)格)。
StackPanel:棧面板
棧面板,可以將元素排列成一行或者一列,其特點(diǎn)是:每個(gè)元素各占一行或者一列,Orientation屬性指定排列方式:Vertical(垂直)【默認(rèn)】、Horizontal(水平),默認(rèn)情況下,水平排列時(shí),每個(gè)元素都與面板一樣高;垂直排列時(shí),每個(gè)元素都與面板一樣寬。如果包含的元素超過(guò)了面板空間,它只會(huì)截?cái)喽喑龅膬?nèi)容。 元素的Margin屬性用于使元素之間產(chǎn)生一定得間隔,當(dāng)元素空間大于其內(nèi)容的空間時(shí),剩余空間將由HorizontalAlignment和 VerticalAlignment屬性來(lái)決定如何分配。
1、垂直方向排列
界面運(yùn)行效果:
使用XAML代碼實(shí)現(xiàn):
<Window x:Class="WpfDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="StackPanel面板" Height="237" Width="525" WindowStartupLocation="CenterScreen"> <StackPanel x:Name="stackpanel" Margin="0" Orientation="Vertical"> <Button Content="第一個(gè)"></Button> <Button Content="第二個(gè)"></Button> <Button Content="第三個(gè)"></Button> <Button Content="第四個(gè)"></Button> </StackPanel> </Window>
2、水平方向排列
界面運(yùn)行效果:
使用XAML代碼實(shí)現(xiàn):
<Window x:Class="WpfDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="StackPanel面板" Height="237" Width="525" WindowStartupLocation="CenterScreen"> <StackPanel x:Name="stackpanel" Margin="0" Orientation="Horizontal"> <Button Content="第一個(gè)"></Button> <Button Content="第二個(gè)"></Button> <Button Content="第三個(gè)"></Button> <Button Content="第四個(gè)"></Button> </StackPanel> </Window>
注:當(dāng)把StackPanel的FlowDirection屬性設(shè)置為RightToLeft,Orientation屬性設(shè)置為Horizontal,StackPanel將從右向左排列元素。
到此這篇關(guān)于WPF使用StackPanel棧面板布局的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Aspose.Cells實(shí)現(xiàn)導(dǎo)入導(dǎo)出
這篇文章主要為大家詳細(xì)介紹了如何使用Aspose.Cells實(shí)現(xiàn)導(dǎo)入導(dǎo)出,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12詳解如何在ASP.NET Core中應(yīng)用Entity Framework
本篇文章主要介紹了如何在ASP.NET Core中應(yīng)用Entity Framework,具有一定的參考價(jià)值,有興趣的可以一起了解一下。2016-12-12數(shù)據(jù)庫(kù)SqlParameter 的插入操作,防止sql注入的實(shí)現(xiàn)代碼
今天學(xué)習(xí)了一下SqlParameter的用法,原來(lái)這么寫是為了防止sql注入,破壞數(shù)據(jù)庫(kù)的。并自己動(dòng)手連接了數(shù)據(jù)庫(kù)。2013-04-04由于擴(kuò)展配置問(wèn)題而無(wú)法提供您請(qǐng)求的頁(yè)面錯(cuò)誤解決方法
這篇文章主要介紹了由于擴(kuò)展配置問(wèn)題而無(wú)法提供您請(qǐng)求的頁(yè)面錯(cuò)誤解決方法,需要的朋友可以參考下2014-05-05Discuz!NT數(shù)據(jù)庫(kù)讀寫分離方案詳解
Discuz!NT這個(gè)產(chǎn)品在其企業(yè)版中提供了對(duì)‘讀寫分離’機(jī)制的支持,使對(duì)CPU及內(nèi)存消耗嚴(yán)重的操作(CUD)被 分離到一臺(tái)或幾臺(tái)性能很高的機(jī)器上,而將頻繁讀取的操作(select)放到幾臺(tái)配置較低的機(jī)器上,然后通過(guò)‘事務(wù) 發(fā)布訂閱機(jī)制’,實(shí)現(xiàn)了在多個(gè)sqlserver數(shù)據(jù)庫(kù)之間快速高效同步數(shù)據(jù),從而達(dá)到了將‘讀寫請(qǐng)求’按實(shí)際負(fù)載 情況進(jìn)行均衡分布的效果。2010-06-06ASP.NET 2.0服務(wù)器控件開(kāi)發(fā)之復(fù)雜屬性
ASP.NET 2.0服務(wù)器控件開(kāi)發(fā)之復(fù)雜屬性...2006-09-09ASP.Net中利用CSS實(shí)現(xiàn)多界面的兩種方法
這篇文章主要介紹了ASP.Net中利用CSS實(shí)現(xiàn)多界面的兩種方法,包括動(dòng)態(tài)加載css樣式與動(dòng)態(tài)設(shè)置頁(yè)面同類控件的方法來(lái)實(shí)現(xiàn)該功能,是非常具有實(shí)用價(jià)值的技巧,需要的朋友可以參考下2014-12-12