有没有办法为不同的设备使用不同的xaml元素属性?例如,我想在桌面设备和手机上应用不同的边距。也许有另一种方法来解决这个问题?
答案 0 :(得分:1)
有很多方法可以做到这一点:
视觉状态管理器
您可以将它用于XAML中的较小更改,例如基于不同的分辨率:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ResponsiveLayout">
<VisualState x:Name="NarrowLayout">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Property="MyGrid.Margin" Value="5" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="WideLayout">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="1024" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Property="MyGrid.Margin" Value="15" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
不同的XAML
将它用于不同设备的完全不同的布局,还有更多可能性:
答案 1 :(得分:0)
你应该关注VisualStateManager class。
您还可以查看有关如何使基于XAML的应用程序响应的更多信息this blog post for。
使用内置的AdaptiveTrigger作为VisualState的StateTrigger 具有MinWindowHeight和/或MinWindowWidth属性,可视状态 可以根据应用程序窗口的高度/宽度进行更改。