[英]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
無法添加或刪除控件。
或者,您可以將Grid
和Pivot
放在同一頁面中,並將這些Visibility
Collasped
默認設置為Collasped
。 而且VisualStateManager中的所有功能只是設置Grid
& Pivot
的Visibility
屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.