动态文本长度为两个文本块以适合longlistselector

时间:2013-08-05 11:36:44

标签: .net silverlight xaml windows-phone-8

我得到了这个包含标题和描述文本的longlistselector,它们都是动态的。 我希望它能够缩放,以便描述文本在超出longlist选择器的宽度时包装。

下面的图片非常清楚地说明了这个问题:

enter image description here

我想如何工作:

enter image description here

我现在得到的代码:

                <Infrastructure:LongListSelector ItemsSource="{Binding TrackingInformationItems}" Width="480">
                <Infrastructure:LongListSelector.ItemTemplate>
                    <DataTemplate>
                        <templates:ListboxTemplateSelector Content="{Binding}">
                            <templates:ListboxTemplateSelector.HeaderAndBody>
                                <DataTemplate>
                                    <StackPanel Width="480" MaxWidth="480" Orientation="Horizontal" Margin="0,5,0,5" Visibility="{Binding Body, Converter={StaticResource EmptyStringConverter}}">
                                        <TextBlock Text="{Binding Header}" Style="{StaticResource TextboxLabelStyle}"/>
                                        <TextBlock Text="{Binding Body}" TextWrapping="Wrap"  Style="{StaticResource DefaultTextBlockStyle}"/>
                                    </StackPanel>
                                </DataTemplate>
                            </templates:ListboxTemplateSelector.HeaderAndBody>
                        </templates:ListboxTemplateSelector>
                    </DataTemplate>
                </Infrastructure:LongListSelector.ItemTemplate>
            </Infrastructure:LongListSelector>

有什么建议我能做到这一点吗? 感谢

1 个答案:

答案 0 :(得分:1)

StackPanel嵌入Grid并将Width应用于TextWrapping,而不是调用StackPanel,但Tonio指出,如果Tonio指出它会将你的身体置于你的标题之下因为它在<TextBlock MaxWidth="480" Margin="0,5" TextWrapping="Wrap" Visibility="{Binding Body, Converter={StaticResource EmptyStringConverter}}"> <Run Text="{Binding Header}" Foreground="Blue"/> <Run Text="{Binding Body}"/> </TextBlock> 中没有足够的空间,但你可以做更像这样的事情;

{{1}}

希望这会有所帮助。