2
我是xaml和Windows 10 Gui編程的新手。我想設計一個帶有TextBlock,ListBox和Button的頁面,所有頁面都居中。無論用戶如何調整窗口大小,我都希望TextBlock和按鈕總是位於頁面的頂部和底部。 ListBox應該自己伸展以自動填充TextBlock和ListBox之間的間隙。我曾嘗試將VerticalAlignment設置爲不同的值,但似乎沒有做任何事情。如何填寫頁面並根據調整大小調整文本位置
<Page
x:Class="FirstWin10.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:FirstWin10"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Orientation="Vertical">
<TextBlock x:Name="textBlock" HorizontalAlignment="Center" Margin="10,20,10,0" TextWrapping="Wrap" VerticalAlignment="Top">
<Run Text="Unkown Screen Name"/>
<LineBreak/>
<Run/>
</TextBlock>
<ListBox x:Name="listBox" HorizontalAlignment="Center" MinWidth="450" MinHeight="178" Margin="50,20,50,0" VerticalAlignment="Stretch">
<StackPanel Orientation="Horizontal">
<CheckBox />
<TextBox Text="ListBox Item #1" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox />
<TextBlock>
<Run Text="ListBox Item #2"/>
</TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox />
<TextBlock>
<Run Text="ListBox Item #3"/>
</TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal">
<CheckBox />
<TextBlock>
<Run Text="ListBox Item #4"/>
</TextBlock>
</StackPanel>
</ListBox>
<Button x:Name="button" Content="Button" HorizontalAlignment="Center" Margin="10,20,10,0" VerticalAlignment="Bottom"/>
</StackPanel>
謝謝@Justin。這就是我要的。 – Jerry
一個側面的問題,怎麼可能讓TextBox根據窗口的大小進行調整?使用Grid相同的解決方案 – Jerry
它應該自動伸展。但是如果你把它放在一個ListBox中,你將需要覆蓋它的ItemContainerStyle。嘗試谷歌搜索,有很多答案告訴你如何做到這一點。 –