【发布时间】:2016-06-21 10:52:06
【问题描述】:
我正在使用 XAML 和 C# 制作一个 Windows 通用应用程序。我想使用视觉状态触发器,下面的代码会根据运行应用的设备的屏幕宽度更改正文背景。
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="Phone">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth = "0"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target = "Body.Background"
Value = "#21539E" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Tablets">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth = "720" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target = "Body.Background"
Value = "Red" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Laptop">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth = "1024" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target = "Body.Background"
Value = "Black" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PCs">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth = "1400" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target = "Body.Background"
Value = "Green" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
但是当我对 minimunwindow height 属性做同样的事情时,它就不起作用了。
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="Phone">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight = "0"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target = "Body.Background"
Value = "#21539E" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Tablets">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight = "120" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target = "Body.Background"
Value = "Red" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Laptop">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight = "1024" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target = "Body.Background"
Value = "Black" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PCs">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight = "1400" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target = "Body.Background"
Value = "Green" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
我做错了什么,如何正确实现最小窗口高度?
【问题讨论】:
-
你的代码看起来很合理。你在什么屏幕分辨率上测试这个?另外,不确定使用“有效像素”的
MinWindowHeight是否有所作为?
标签: c# wpf xaml win-universal-app windows-10-universal