如何在Windows10XAML中创建设计断点?

如何在Windows10XAML中创建设计断点?,xaml,responsive-design,win-universal-app,windows-10,windows-10-mobile,Xaml,Responsive Design,Win Universal App,Windows 10,Windows 10 Mobile,《针对Windows 10应用程序的响应式设计指南》介绍了响应式设计技术,特别是针对特定大小的类使用设计断点: 为特定大小的类设计断点 Windows 10中的设备目标数和屏幕大小 生态系统太强大了,不必为每个生态系统优化UI。 相反,我们建议设计一些键宽度(也称为 “断点”):320、720和1024个epx 见: 本文描述了响应式设计和设计断点的一般概念。我已经熟悉HTML和CSS媒体查询中的这些概念。但我不知道如何在XAML中实现它 搜索Windows 10和设计断点并不能得到我想要的信息

《针对Windows 10应用程序的响应式设计指南》介绍了响应式设计技术,特别是针对特定大小的类使用设计断点:


为特定大小的类设计断点

Windows 10中的设备目标数和屏幕大小 生态系统太强大了,不必为每个生态系统优化UI。 相反,我们建议设计一些键宽度(也称为 “断点”):320、720和1024个epx

见:

本文描述了响应式设计和设计断点的一般概念。我已经熟悉HTML和CSS媒体查询中的这些概念。但我不知道如何在XAML中实现它


搜索Windows 10和设计断点并不能得到我想要的信息,你能给我指出正确的方向吗?

为特定大小的类设计断点只是一个概念,一个建议,让你担心关键大小。正如Justin所提到的,实现这一点的一个非常简单的方法是使用可视状态触发器来触发UI中基于最小窗口宽度的更改。有一个名为的状态触发器,它允许您开箱即用地执行此操作。还有其他方法,但是AdaptiveTrigger是您需要对XAML中的不同宽度或断点做出反应的方法。下面是一个非常简单的示例:

<VisualStateManager.VisualStateGroups>
    <VisualStateGroup x:Name="AdaptiveSizesVisualStateGroup">
        <VisualState x:Name="Large">
            <!-- VisualState to be triggered when window width is >=1024 effective pixels -->
            <VisualState.StateTriggers>
                <AdaptiveTrigger MinWindowWidth="1024" />
            </VisualState.StateTriggers>
            <VisualState.Setters>
                <Setter Target="MySplitView.IsPaneOpen" Value="True" />
            </VisualState.Setters>
        </VisualState>
        <VisualState x:Name="Medium">
            <!-- VisualState to be triggered when window width is >=720 and < 1024 effective pixels -->
            <VisualState.StateTriggers>
                <AdaptiveTrigger MinWindowWidth="720" />
            </VisualState.StateTriggers>
            <VisualState.Setters>
                <Setter Target="MySplitView.IsPaneOpen" Value="False" />
            </VisualState.Setters>
        </VisualState>
        <VisualState x:Name="Small">
            <!-- VisualState to be triggered when window width is >=320 and < 720 effective pixels -->
            <VisualState.StateTriggers>
                <AdaptiveTrigger MinWindowWidth="320" />
            </VisualState.StateTriggers>
            <VisualState.Setters>
                <Setter Target="MySplitView.IsPaneOpen" Value="False" />
            </VisualState.Setters>
        </VisualState>
        <VisualState x:Name="Minimum">
            <!-- VisualState to be triggered when window width is >=0 and < 320 effective pixels -->
            <VisualState.StateTriggers>
                <AdaptiveTrigger MinWindowWidth="0" />
            </VisualState.StateTriggers>
            <VisualState.Setters>
                <Setter Target="MySplitView.IsPaneOpen" Value="False" />
            </VisualState.Setters>
        </VisualState>
    </VisualStateGroup>
</VisualStateManager.VisualStateGroups>


,其中还可能包含AdaptiveTriggers…

要添加到上述响应中,这里是新自适应触发器的快速介绍。如果您是第一次使用这些,这个链接可能会有所帮助,因为这个示例完全是从头开始的。

在html和css中,您有媒体查询;在xaml中,现在有了自适应触发器。看看