我無法讓可視狀態管理器正確更改我的應用程序的主柵格的HorizontalAlignment/VerticleAlignment。UWP更改Grid.HorizontalAlignment使用VisualStateManager拉伸/保留
對於在手機上使用的屏幕尺寸,我希望HorizontalAlignment/VerticleAlignment伸展,將高度/寬度設置爲自動。
對於桌面,它應該是左/頂高/寬設置爲特定大小。無論出於何種原因,當我試圖與定位混亂它的行爲古怪,不會做我想做的
這裏是什麼,我都試過一個例子:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="PhoneView">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="Grid.HorizontalAlignment" Value="Stretch"/>
<Setter Target="Grid.VerticleAlignment" Value="Stretch"/>
<Setter Target="Grid.Height" Value="Auto"/>
<Setter Target="Grid.Width" Value="Auto"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="DesktopSmall">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="1920"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="Grid.HorizontalAlignment" Value="Left"/>
<Setter Target="Grid.VerticleAlignment" Value="Top"/>
<Setter Target="Grid.Height" Value="1280"/>
<Setter Target="Grid.Width" Value="1920"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
的另一個問題是,當我嘗試設置最大分辨率爲1920x1280,如果我手動設置網格的高度/寬度,則Windows任務欄(OS任務欄,而不是應用程序應用程序欄/命令欄)將切斷我的應用程序的一部分。我不想將對齊設置爲伸展,因爲我試圖限制視圖的實時伸展。
謝謝!讓我知道是否需要更多細節。
'Grid'是你的'Grid'的名字嗎?如果是,則將其更改爲不同的名稱。如果不是,則使用「Grid」名稱而不是「Grid」。 –
網格不是我的網格的名稱。我一直在使用「容器」,例如Container.HorizontalAlignment。 –
我只在這個例子中使用了網格作爲佔位符,所以很明顯它是我正在使用的網格。 –