Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 7 WP7中列表框中文本块的文本对齐_Windows Phone 7_Listbox_Textblock - Fatal编程技术网

Windows phone 7 WP7中列表框中文本块的文本对齐

Windows phone 7 WP7中列表框中文本块的文本对齐,windows-phone-7,listbox,textblock,Windows Phone 7,Listbox,Textblock,我在对齐列表框中的文本时遇到问题。我基本上是在尝试创建一个类似iOS中uitableview的列表框 在下面的代码中,左文本块的设置正是我想要的,但我无法使右文本块的行为符合我的要求。现在,文本是右对齐的,因此当文本太长而无法在屏幕上显示时,它会在开始处截断文本,只显示文本的结尾。我想做的是让TextBlock右对齐,这样就可以从右侧延伸,但如果左对齐,则让文本内部对齐,这样就可以显示文本的开头并切断文本的结尾 <phone:PhoneApplicationPage.Resources&g

我在对齐列表框中的文本时遇到问题。我基本上是在尝试创建一个类似iOS中uitableview的列表框

在下面的代码中,左文本块的设置正是我想要的,但我无法使右文本块的行为符合我的要求。现在,文本是右对齐的,因此当文本太长而无法在屏幕上显示时,它会在开始处截断文本,只显示文本的结尾。我想做的是让TextBlock右对齐,这样就可以从右侧延伸,但如果左对齐,则让文本内部对齐,这样就可以显示文本的开头并切断文本的结尾

<phone:PhoneApplicationPage.Resources>
    <Style x:Key="ListBoxItemStretchContentStyle" TargetType="ListBoxItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
    </Style>
</phone:PhoneApplicationPage.Resources>


<ListBox Height="327" Margin="8,274,0,0" Name="myListBox" Width="442" ItemContainerStyle="{StaticResource ListBoxItemStretchContentStyle}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <TextBlock Grid.Column="0" Text="Title Text" HorizontalAlignment="Left" Name="cellTitle" />
                            <TextBlock Grid.Column="1" Text="This is some text that is too long to fit on the screen" HorizontalAlignment="Right" TextAlignment="Left" Padding="20,0,0,0" />
                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

在这里可能会有所帮助。 设置
TextWrapping=“NoWrap”
后,您是否可以尝试
texttiming=“WordEllipsis”
。然后尝试修改
TextAlignment


希望能有所帮助。

如果我理解正确,您可以设置textblock的maxwidth参数以防止重叠

MaxWidth=""

如果左侧文本块宽度始终相同,但在我的应用程序中,它们都不同,那么这将起作用。有没有办法从列表框的宽度中减去左文本块的宽度,得到右文本块的大小?