C# 轴心标题中的文本换行

C# 轴心标题中的文本换行,c#,wpf,windows-phone-8,pivot,word-wrap,C#,Wpf,Windows Phone 8,Pivot,Word Wrap,我正在寻找一种正确的方法,以便在WP8应用程序的Pivot控件的标题中启用文本包装 代码如下: <phone:Pivot Title="MY APPLICATION"> <phone:Pivot.HeaderTemplate> <DataTemplate> <TextBlock Text="{Binding}" TextWrapping="Wrap"/> </DataTempla

我正在寻找一种正确的方法,以便在WP8应用程序的Pivot控件的标题中启用文本包装

代码如下:

<phone:Pivot Title="MY APPLICATION">
    <phone:Pivot.HeaderTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}" TextWrapping="Wrap"/>
        </DataTemplate>
    </phone:Pivot.HeaderTemplate>

    <phone:PivotItem Header="very long item name">
        <Grid/>
    </phone:PivotItem>
</phone:Pivot>


正如您所见,“TextWrapping”属性被显式设置为“Wrap”,但我没有观察到任何包装。有人知道解决方法吗?

您需要明确设置TextBlock的宽度,以便TextWrapping工作

<TextBlock Text="{Binding}" TextWrapping="Wrap" MaxWidth="400" Height="Auto"/>


上面的工作正常。

TextWrapping属性似乎适用于TitleTemplate,但不适用于HeaderTemplate。是的,我已经找到了此解决方案,但也不理想。我的应用程序支持两种方向,因此宽度不会相同。不同的屏幕分辨率如何?我还使用ItemTemplate动态生成透视项目。我该怎么办?每次添加新项目时是否更改宽度?是否处理方向更改事件以更改所有现有项目的宽度?为什么这个简单的东西不能开箱即用?我认为MaxWidth=400是一个更好的解决方案。这将考虑到只有超过400件的物品才被包装。在这种情况下,仍然需要分别为纵向和横向保留两个MaxWidth值(例如400和700)。我认为可以管理两种价值观。