簡體   English   中英

如何在UWP中使用VisualStateManager將Pivot更改為ScrollViewer?

[英]How to change Pivot to ScrollViewer with VisualStateManager in UWP?

目前,我有一個ScrollViewer,其中包含水平相鄰(左,中,右)的三個網格。 但是,當屏幕狹窄時,我希望將其更改為具有這三個相同對象的數據透視表。 因此,我設法制作了一個數據透視表,並且效果很好,但是現在我想圍繞它構建一個VisualStateManager,以便在屏幕寬度更改時在ScrollViewer和數據透視表之間自動進行更改。 這可能嗎? 如果不是,您是否知道我可以通過UWP的其他功能來做到這一點?

這三個項目只是包含列表視圖的簡單網格,因此不必擔心這些。 但是我可以顯示Pivot對象:

<Pivot>
   <Pivot.Items>
      <PivotItem Header="Left grid">
         <Grid x:Name="LeftGrid" />
      </PivotItem>

      <PivotItem Header="Middle grid">
         <Grid x:Name="MiddleGrid" />
      </PivotItem>

      <PivotItem Header="Right grid">
         <Grid x:Name="RightGrid" />
      </PivotItem>
   </Pivot.Items>
</Pivot>

這是ScrollViewer對象:

<ScrollViewer x:Name="scrollViewer">
   <Grid>
      <Grid x:Name="detailsGrid">
         <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" />
         </Grid.ColumnDefinitions>
         <Grid x:Name="LeftGrid" />
         <Grid x:Name="MiddleGrid" />
         <Grid x:Name="RightGrid" />
      </Grid>
   </Grid>
</ScrollViewer>

這是VisualStateManager:

<VisualStateManager.VisualStateGroups>
   <VisualStateGroup>
      <VisualState x:Name="WideState">
         <VisualState.StateTriggers>
            <AdaptiveTrigger MinWindowWidth="400" />
         </VisualState.StateTriggers>
         <VisualState.Setters>
            <Setter Target="?" Value="?" /><!-- which values to I set here? -->
         </VisualState.Setters>
      </VisualState>
      <VisualState x:Name="NarrowState">
         <VisualState.StateTriggers>
            <AdaptiveTrigger MinWindowWidth="400" />
         </VisualState.StateTriggers>
         <VisualState.Setters>
            <Setter Target="?" Value="?" /><!-- which values to I set here? -->
         </VisualState.Setters>
      </VisualState>
   </VisualStateGroup>
</VisualStateManager.VisualStateGroups>

當前,有一個包含VisualStateManager的根網格,並且在VSM之下,該根網格內有Pivot和ScrollViewer。 我應該如何繼續?

VisualStateManager無法添加或刪除控件。

或者,您可以將GridPivot放在同一頁面中,並將這些Visibility Collasped默認設置為Collasped 而且VisualStateManager中的所有功能只是設置GridPivotVisibility屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM