0

我有一个带有非数据绑定枢轴项的枢轴控件,这些枢轴项具有不同的结构。它们都有简单的文本标题。我们如何根据方向变化来改变标题的可见性?我想要实现的是,当手机处于横向状态时,我希望标题是不可见的,并且所有空间都被枢轴项内的相应内容使用。我尝试了很多,最大的问题是带有标题的面板总是采用原始高度。(我试图改变字体大小,可见性等......)请帮忙。这是我的代码示例

  <controls:Pivot x:Name="pvtMain" >                                          

        <controls:PivotItem x:Name="pvtItemOne" Header="My Header one">   

                    <MyUserControls:UserControlOne/>              

        </controls:PivotItem>

       <controls:PivotItem x:Name="pvtItemTwo" Header="My Header Two">   

                     <MyUserControls:UserControlTwo/>              

        </controls:PivotItem>

         <controls:PivotItem x:Name="pvtItemThree" Header="My Header Three">   

                  <MyUserControls:UserControlThree/>              

        </controls:PivotItem>


   </controls:PivotItem>

我正在使用 Windows phone SDK 7.0(出于向后兼容性的原因)

4

2 回答 2

1

这可能有效。试试看!!

void MainPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
    {
        if (e.Orientation == PageOrientation.Landscape || e.Orientation == PageOrientation.LandscapeLeft || e.Orientation == PageOrientation.LandscapeRight)
        {
            pvtItemOne.Header = null;
            pvtItemTwo.Header = null;
            pvtItemThree.Header = null;
            pvtMain.Margin = new Thickness(0, -150, 0, 0);
        }
        else
            {
                pvtItemOne.Header = "My Header One";
                pvtItemTwo.Header = "My Header Two";
                pvtItemThree.Header = "My Header Three";
                pvtMain.Margin = new Thickness(0);
            }
    }

顺便说一句,您不需要为 7.0 设备维护任何向后兼容性。微软很久以前就停止了对这些设备的支持,市场也对这些设备关闭了。

于 2012-10-01T19:26:26.667 回答
0

您可以执行以下操作:

                    <controls:PivotItem >
                        <controls:PivotItem.Header>
                            <Border x:Name="PivotItemHeader">
                                <TextBlock  Text="Test"  />
                            </Border>
                        </controls:PivotItem.Header>
                        <StackPanel>
                            <TextBlock Text="line1" />
                            <TextBlock Text="line2" />
                        </StackPanel>    
                    </controls:PivotItem>

通过使用标题内的“边框”,您可以从代码中控制其可见性。比如:PivotItemHeader.Visibility = System.Windows.Visibility.Collapsed;

我知道它不漂亮,但它有效。

于 2013-03-04T11:32:39.287 回答