这是我的XAML
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="16 21 0 20">
<Rectangle Width="43" Height="43"/>
<TextBlock Text="{Binding AccountDescription}" Margin="16 0 0 0" FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}" TextWrapping="Wrap"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
即使我添加了TextWrapping =“Wrap” 我的TextBlock没有换行 我错过了什么吗?
答案 0 :(得分:2)
尝试用StackPanel
替换Grid
(我没有编译器,从内存中键入,因此可能存在一些拼写错误):
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<Grid Margin="16 21 0 20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Rectangle Width="43" Height="43" Grid.Column="0" />
<TextBlock Text="{Binding AccountDescription}" Margin="16 0 0 0"
FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}"
TextWrapping="Wrap" Grid.Column="1" />
</Grid>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
此外,您可能希望使用预定义的theme resources,而不是对FontSize
和Margin
等内容进行硬编码。 Jeff Wilcox有一个blog post,有许多这样的UI设计最佳实践。
答案 1 :(得分:1)
只需从stackpanel中删除Orientation="Horizontal"
。