【发布时间】:2013-12-31 09:13:59
【问题描述】:
我有一个 Windows Phone 8 页面,左边是国家名称,右边是 ISD 代码。我想将国家/地区名称对齐到屏幕的最左侧,并将 ISD 代码对齐到屏幕的最右侧。
为此,我编写了以下 XAML
<Grid x:Name="LayoutRoot" Background="Transparent">
<ListBox ItemsSource="{Binding IsdCodes}" HorizontalAlignment="Stretch" Background="Blue">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch" Background="Yellow" ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBox Grid.Column="0" HorizontalAlignment="Stretch" Text="{Binding Key}" />
<TextBox Grid.Column="1" HorizontalAlignment="Stretch" Text="{Binding Value}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
但我得到的输出如下:
由于我将网格列宽设为 3* 和 *,我希望第一列占据左侧屏幕宽度的 75%,第二列占据右侧屏幕宽度的 25%。但是我确实看到列表框项仍然没有占据整个屏幕宽度(假设从黄色背景开始)。
我哪里做错了?
【问题讨论】:
标签: c# wpf xaml windows-phone-8 windows-phone