zoukankan      html  css  js  c++  java
  • 46、Snap

       

       把一个应用停靠在窗口一侧,只有 320px 宽,可以在另一侧放置其它的应用。这可以

    让窗口同时显示两个应用。Snapping 操作可以在至少 1366px 宽的屏幕上可用。

           你可以使用快捷方式 : win + . 来循环切换不能的应用视图状态。

     左面停靠 “Bing 新闻”, 右侧停靠 “多米音乐”:

    控制视图切换的代码:

    在页面的构造函数中添加:

      
    // 在窗口呈现或更改其呈现大小时发生。
    Window.Current.SizeChanged += OnSizeChanged;
    public void OnSizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs args)
    {
        // 获取当前应用程序视图的状态。
        switch (Windows.UI.ViewManagement.ApplicationView.Value)
        {
            case Windows.UI.ViewManagement.ApplicationViewState.Filled:
    
           // 使控件在两个状态间过渡。
            //   control:  要进行状态过渡的控件。
            //   stateName: 要过渡到的状态。
            //   useTransitions:  如果使用 VisualTransition 进行状态过渡,则为 true;否则为 false。
            // 返回结果:  如果控件已成功过渡到新状态,则为 true;否则为 false。
            public static bool GoToState(Control control, string stateName, bool useTransitions);
                VisualStateManager.GoToState(this, "Fill", false);
                break;
            case Windows.UI.ViewManagement.ApplicationViewState.FullScreenLandscape:
                VisualStateManager.GoToState(this, "Full", false);
                break;
            case Windows.UI.ViewManagement.ApplicationViewState.Snapped:
                VisualStateManager.GoToState(this, "Snapped", false);
                break;
            case Windows.UI.ViewManagement.ApplicationViewState.FullScreenPortrait:
                VisualStateManager.GoToState(this, "Portrait", false);
                break;
            default:
                break;
        }
    
        this.ShowCurrentViewState();
    }
     //更改当前页面中的控件的显示状态 
     void ShowCurrentViewState()
     {
         this.UpdateUnsnapButtonState();
    
         ApplicationViewState currentState = Windows.UI.ViewManagement.ApplicationView.Value;
    
         if (currentState == ApplicationViewState.Snapped)
         {
              //"This app is snapped.";
         }
         else if (currentState == ApplicationViewState.Filled)
         {
              // "This app is in the fill state.";
         }
         else if (currentState == ApplicationViewState.FullScreenLandscape)
         {
              //"This app is full-screen landscape.";
         }
         else if (currentState == ApplicationViewState.FullScreenPortrait)
         {
              // "This app is full-screen portrait.";
         }
     }

    尝试展开当前视图:

     //尝试展开以前已对齐的应用程序。
     // 返回结果: 如果该应用程序已成功展开,则为 true;如果展开尝试失败,则为 false。 
    Windows.UI.ViewManagement.ApplicationView.TryUnsnap();
  • 相关阅读:
    MVVM 中 ViewModelBase和 CommandBase
    Numpy的ndarry
    dockerfile命令
    Docker命令大全
    Docker介绍
    Docker安装
    pandas入门学习
    pandas入门学习--------------------------(一)
    python签名设计
    python--numpy学习(一)
  • 原文地址:https://www.cnblogs.com/hebeiDGL/p/2779260.html
Copyright © 2011-2022 走看看