我无法让视觉状态管理器正确更改应用程序主网格的HorizontalAlignment / VerticleAlignment。
对于将在手机上使用的屏幕尺寸,我希望将HorizontalAlignment / VerticleAlignment拉伸,并将Height / Width设置为Auto。
对于桌面,它应该是左/上,高度/宽度设置为特定大小。无论出于什么原因,当我试图弄乱对齐时,它表现得很古怪而且没有做我想做的事情
这是我尝试过的一个例子:
<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任务栏(操作系统任务栏,而不是应用程序应用栏/命令栏)会切断部分我的应用程序。我不想将对齐设置为拉伸,因为我试图限制视图的实时拉伸。
谢谢!如果需要更多细节,请告诉我。
答案 0 :(得分:0)
应该这样写 -
<Setter Target="Container.(Grid.HorizontalAlignment)" Value="Left" />
<Setter Target="Container.(Grid.VerticalAlignment)" Value="Top" />
我有一些提示here用于创建可视状态设置器,而无需编写任何代码。