C# TextWrapping在水平堆叠面板上不起作用
我有一个全景项目C# TextWrapping在水平堆叠面板上不起作用,c#,xaml,windows-phone-7,C#,Xaml,Windows Phone 7,我有一个全景项目 <controls:PanoramaItem Header="Stream" Margin="0,-16,0,0"> <ListBox Margin="0,-16,0,0" ItemsSource="{Binding Items}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Margin
<controls:PanoramaItem Header="Stream" Margin="0,-16,0,0">
<ListBox Margin="0,-16,0,0" ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="6,0,0,10">
<StackPanel Margin="6,0,0,10" Orientation="Horizontal">
<Image Source="{Binding ProfileImage}"
VerticalAlignment="Top"
Margin="0,4,0,0"
Width="48" Height="48"
/>
<!-- This doesn't work -->
<TextBlock Text="{Binding ProfileName}"
TextWrapping="Wrap"
Style="{StaticResource PhoneTextTitle2Style}"/>
<TextBlock Text="{Binding RelativeTime}"
Margin="2,10,0,2"
Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
<!-- This works -->
<StackPanel Margin="0,-4,0,17" Orientation="Vertical">
<TextBlock Text="{Binding Content}"
TextWrapping="Wrap"
Style="{StaticResource PhoneTextNormalStyle}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PanoramaItem>
我需要使ProfileName
文本换行,如果可能的话,我想使RelativeTime
向右浮动
我该怎么做?很有意义,在水平堆叠面板中,没有明显的宽度限制来进行文本块换行。您可以添加这样的约束,但这需要提供像素
看看XAML,我想也许你想要一个3列的网格,而不是StackPanel 有道理,在水平堆叠面板中,没有明显的宽度约束来进行Textblock换行。您可以添加这样的约束,但这需要提供像素
看看XAML,我想也许你想要一个3列的网格,而不是StackPanel 您不应该需要嵌套的StackPanel。总是尝试最简单的XAML,没有不必要的元素。你不应该需要嵌套的StackPanel。始终尝试使用没有不必要元素的最简单XAML。