我得到了这个包含标题和描述文本的longlistselector,它们都是动态的。 我希望它能够缩放,以便描述文本在超出longlist选择器的宽度时包装。
下面的图片非常清楚地说明了这个问题:
我想如何工作:
我现在得到的代码:
<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>
有什么建议我能做到这一点吗? 感谢
答案 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}}
希望这会有所帮助。