我正在创建一个UWP应用程序并尝试在ListBoxItem中放置两个TextBlock
。 HorizontalAlignment属性似乎不起作用。
我试图将第一个TextBlock对齐到左边,将第二个TextBlock对齐到右边。目前我正在尝试使用网格。这是我的XAML:
<Pivot.ItemTemplate>
<DataTemplate>
<ListBox ItemsSource="{Binding List}"
SelectionMode="Multiple"
ScrollViewer.HorizontalScrollMode="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="9*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
Text="{Binding read}"
HorizontalAlignment="Left"
VerticalAlignment="Center"/>
<TextBlock Text="{Binding num}"
Grid.Column="1"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
</Pivot.ItemTemplate>
答案 0 :(得分:1)
您需要做的一些事情:
首先,您需要拉伸 ListBoxItem
的对齐方式,而不是ListBox
本身。
<ListBox>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
其次,您应该将Width="1*"
更改为Width="Auto"
,否则 num TextBlock
可能会被截断。然后,您可以删除Width="9*"
并将TextWrapping="Wrap"
添加到阅读 TextBlock
,这样如果文字过长就会转到下一行。您也可以安全地删除HorizontalAlignment="Left"
。
答案 1 :(得分:0)
尝试将HorizontalContentAlignment属性设置为在ListBox中拉伸:
<ListBox ItemsSource="{Binding List}"
HorizontalContentAlignment="Stretch"
SelectionMode="Multiple"
ScrollViewer.HorizontalScrollMode="Disabled">
默认情况下,HorizontalContentAlignment设置为left,并且listItem不会拉伸以使用所有可用空间,这就是为什么它的内容不会正确地对齐到右边。