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 デバイスの下位互換性を維持する必要はありません。Microsoft はずっと前にこれらのデバイスのサポートを停止しており、Marketplace は閉鎖されています。

于 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 に答える