zoukankan      html  css  js  c++  java
  • windows 10 自适应布局

    https://msdn.microsoft.com/library/windows/apps/dn894631.aspx

    Use visual state triggers to build UI that can adapt to available screen space

    Your UI may need to adapt to changes in window size. Adaptive visual states allows you to change the visual state in response to changes in the size of the window.

    StateTriggers define a threshold at which a visual state is activated, which then sets layout properties as appropriate for the window size that triggered the state change.

    In the following example, when the window size is 720 pixels or more in width the best-rated games are displayed to the right of the top free games panel and aligned with the top of the top free games panel. The visual state named wideView is triggered when the window is a minimum of 720 pixels wide, which then arranges the Best-rated games panel to appear to the right of, and aligned with the top of, the Top free games panel.

    Visual state trigger example. Wide view

    When the window is less than 720 pixels, the narrowView visual state is triggered because the wideViewtrigger is no longer satisfied and so no longer in effect. The narrowView visual state positions the Best-rated games panel below, and aligned with the left of, the Top paid games panel:

    Visual state trigger example. Narrow view

    Here is the XAML for the visual state triggers described above. The definition of the panels, alluded to by "..." below, has been removed for brevity.

     
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup>
                <VisualState x:Name="wideView">
                    <VisualState.StateTriggers>
                        <AdaptiveTrigger MinWindowWidth="720" />
                    </VisualState.StateTriggers>
                    <VisualState.Setters>
                        <Setter Target="best.(RelativePanel.RightOf)" Value="free"/>
                        <Setter Target="best.(RelativePanel.AlignTopWidth)" Value="free"/>
                    </VisualState.Setters>
                </VisualState>
                <VisualState x:Name="narrowView">
                    <VisualState.Setters>
                        <Setter Target="best.(RelativePanel.Below)" Value="paid"/>
                        <Setter Target="best.(RelativePanel.AlignLeftWithPanel)" Value="true"/>
                    </VisualState.Setters>
                    <VisualState.StateTriggers>
                        <AdaptiveTrigger MinWindowWidth="0" />
                    </VisualState.StateTriggers>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
        ...
    </Grid>
    
  • 相关阅读:
    点图换说明文字
    酷酷的图片预览带加载效果
    阿里巴巴右侧6滑块VS雅虎右侧6滑块VS自定义6滑块
    绝对经典的滑轮新闻显示(javascript+css)
    一个城市、日历选择功能
    比较两个日期大小
    我对委托/事件的理解
    今天写信息采集小程序时实现程序中同时只允许5个线程运行
    Web页面接受客户端POST数据,并且返回数据
    项目中用到的一个树控件[经过修改]
  • 原文地址:https://www.cnblogs.com/gisbeginner/p/4565531.html
Copyright © 2011-2022 走看看