0

ピボットのヘッダーに別のテンプレートを使用したいのですが、それが選択されている/アクティブな ID の場合はテンプレート A を使用し、非アクティブ/選択されていない場合はテンプレート B を使用します。

私がやりたいことは、小さな三角形/矢印がアクティブなピボットに表示される、Windows Phone 用の Facebook アプリとほとんど同じです。アイコンと矢印がヘッダー テンプレートなのか、それとも単なる矢印なのか、それともまったくピボットなのか、これがどのように設計されているのか 100% わかりません...

この種の UI を実現する方法について、誰かが光を当てることができれば幸いです。

4

1 に答える 1

0

これに対する回避策で終わった

ピボット ヘッダーを完全に削除し、ピボットをナビゲートするためのスタンドアロン コントロールを作成しました

ピボットと Nav コントロールの間で共有される nav-viewmodel には、Nav コントロール内を移動すると変化する SelectedPage プロパティがあります。

<AppControls:Nav Grid.Row="0"/>

これにより、選択したメニュー項目のレイアウトを完全に制御できます。SelectedPage プロパティは、ピボットの selectedindex にバインドされています。

完全なマークアップ:

<Grid x:Name="LayoutRoot" DataContext="{Binding Nav, Source={StaticResource Locator}}" Background="#E8E8E8">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition/>
        </Grid.RowDefinitions>


        <!--ContentPanel - place additional content here-->

        <AppControls:Nav Grid.Row="0"/>
        <phone:Pivot SelectedIndex="{Binding SelectedPage, Mode=TwoWay}" Grid.Row="1" x:Name="MainGui">
            <phone:PivotItem x:Name="FrontPage">

                <AppControls:Topnav Grid.Row="1" />

            </phone:PivotItem>
            <phone:PivotItem x:Name="PlacesPage">
                <AppControls:PlacesControl Grid.Row="1"/>
            </phone:PivotItem>            
            <phone:PivotItem x:Name="MapPage">
                <AppControls:MapControl Grid.Row="1"/>
            </phone:PivotItem>

            <phone:PivotItem x:Name="SettingsPage">
                <AppControls:Settings Grid.Row="1" />
            </phone:PivotItem>
        </phone:Pivot>



    </Grid>
于 2013-11-03T10:41:10.033 に答える