Xaml 在列表框内水平定位控件

Xaml 在列表框内水平定位控件,xaml,listbox,uwp,Xaml,Listbox,Uwp,我正在制作一个UWP应用程序,并试图在ListBoxItem中放置两个TextBlock。HorizontalAlignment属性似乎不起作用。 我试图将第一个文本块向左对齐,第二个文本块向右对齐。目前我正在尝试使用网格。这是我的XAML: <Pivot.ItemTemplate> <DataTemplate> <ListBox ItemsSource="{Binding List}"

我正在制作一个UWP应用程序,并试图在ListBoxItem中放置两个
TextBlock
。HorizontalAlignment属性似乎不起作用。 我试图将第一个文本块向左对齐,第二个文本块向右对齐。目前我正在尝试使用网格。这是我的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> 

尝试在列表框中将HorizontalContentAlignment属性设置为拉伸:

<ListBox ItemsSource="{Binding List}"
         HorizontalContentAlignment="Stretch"
         SelectionMode="Multiple"
         ScrollViewer.HorizontalScrollMode="Disabled">


默认情况下,HorizontalContentAlignment设置为左侧,您的listItem将不会拉伸以使用所有可用空间,这就是为什么它的内容不会正确地对齐到右侧。

您需要在此处执行以下几项操作:

首先,您需要拉伸
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”
添加到read
TextBlock
中,这样,如果文本太长,就会转到下一行。您也可以安全地删除
HorizontalAlignment=“Left”

@ravikumar如果您想使用微型橡胶,您应该在Justin XL中添加代码