Windows 10 Creaters Update 新功能——画中画模式和窗口高斯模糊

在Windows 10 Creaters Update中,可以给窗口设置高斯模糊了,只要几行代码!

    <Grid   Loaded="Grid_Loaded">
        <Grid x:Name="mg"></Grid>
        <Grid Background="Blue" Opacity="0.4" x:Name="rootGrid" ></Grid>
        <!--your uielements-->
    </Grid>
        Windows.UI.Composition.Compositor _compositor;
        Windows.UI.Composition.SpriteVisual _hostSprite;
        public MainPage()
        {
            this.InitializeComponent();
            _compositor = Windows.UI.Xaml.Hosting.ElementCompositionPreview.GetElementVisual(this).Compositor;
        }

        private void Grid_Loaded(object sender, RoutedEventArgs e)
        {
            _hostSprite = _compositor.CreateSpriteVisual();
            _hostSprite.Size = new System.Numerics.Vector2((float)rootGrid.ActualWidth, (float)rootGrid.ActualHeight);

            ElementCompositionPreview.SetElementChildVisual(mg, _hostSprite);
            _hostSprite.Brush = _compositor.CreateHostBackdropBrush();
        }

效果

XAML里的那个Grid的颜色是可以换的,删了也行。那个是为了实现向开始菜单那样特定颜色的模糊。

不过这个方法在新增加的画中画模式无效

关于如何实现画中画其实很简单

检测是否支持画中画

ApplicationView.GetForCurrentView().IsViewModeSupported(ApplicationViewMode.CompactOverlay)

进入画中画

bool modeSwitched = await ApplicationView.GetForCurrentView().TryEnterViewModeAsync(ApplicationViewMode.CompactOverlay);
    ViewModePreferences compactOptions = ViewModePreferences.CreateDefault(ApplicationViewMode.CompactOverlay);
    compactOptions.CustomSize = new Windows.Foundation.Size(320, 200);//你要的窗口大小
    bool modeSwitched = await ApplicationView.GetForCurrentView().TryEnterViewModeAsync(ApplicationViewMode.Default, compactOptions);

退出画中画

bool modeSwitched = await ApplicationView.GetForCurrentView().TryEnterViewModeAsync(ApplicationViewMode.Default);

也可以结合UWP的多窗口功能

await CoreApplication.CreateNewView().Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        var frame = new Frame();
        compactViewId = ApplicationView.GetForCurrentView().Id;
        frame.Navigate(typeof(SecondaryCompactViewPage));
        Window.Current.Content = frame;
        Window.Current.Activate();
        ApplicationView.GetForCurrentView().Title = "画中画窗口";
    });
    bool viewShown = await ApplicationViewSwitcher.TryShowAsViewModeAsync(compactViewId, ApplicationViewMode.CompactOverlay);

微软的多窗口示例:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MultipleViews

微软关于画中画功能的介绍:https://blogs.msdn.microsoft.com/universal-windows-app-model/2017/02/11/compactoverlay-mode-aka-picture-in-picture/

我还做了一个完整的示例,可以在这里下载https://git.oschina.net/PixeezPlus/Sharp2DDemo/tree/master/GaussianBlurWindow

还有一点需要注意,就是这些代码只在PC的Creaters Update以上版本有效

时间: 2024-12-30 16:40:00

Windows 10 Creaters Update 新功能——画中画模式和窗口高斯模糊的相关文章

探索Windows 8.1 Update 新功能点

Windows 8.1 Update 已经使用一段时间了,整体感觉比Windows 8.1 方便了不少,尤其是对鼠标用户来说更是进行了很多优化. 应用磁贴尺寸 在应用磁贴点击鼠标右键,有小.中.宽.大四种尺寸供用户自由调整.同时还可以将应用磁贴固定到传统任务栏上,也可以开启或关闭磁贴的Live Tile 功能. 任务栏全覆盖 在Windows 应用界面也能出现传统的任务栏,只需将鼠标移至屏幕最下方.这样一来在两个界面之间的切换是不是变得的方便了. 磁贴随处放 前面提到过可以将应用磁贴固定在任务栏

Windows 10 20H1 2004新功能

Windows 10的年度更新版本20H1即将问世. 目前可以从insider preview渠道中获得.这个版本中看上去对搜索功能做了不小的改进.包括搜索的磁盘占用率以及搜索的一些展示方式. 其它的一些改进包括 Windows Subsystem for Linux的改进 https://www.cnblogs.com/qishine/p/12430933.html DirectX 12新功能预览 安全模式中支持Windows Hello的数字密码 支持网络摄像机 支持自动重启UWP程序 Xb

What is the purpose for IT Pro in Windows 10 Creators Update

Windows 10, version 1703-also known as the Windows 10 Creators Update-is designed for today's modern IT environment with new features to help IT pros more easily manage, and better protect, the devices and data in their organizations. It also provide

Windows Server 2012 R2 新功能之共用VHDX虚拟磁盘

在Windows Server 2012 R2中有一项新的功能,这个功能的好处是可以在两个系统中同时使用一个VHDX虚拟磁盘.下面我们就在测试一下. 1.在一台服务器上打开磁盘管理点击"操作"--"创建VHD" 2.选择对应的虚拟磁盘存放的位置,这里我们将它存放在共享上. 3.这里可以配置对应的磁盘大小,磁盘类型等,点击"确定" 4.这时候我们对这个磁盘进行联机.初始化.格式化等操作. 5.然后我们在另外一台服务器上点击"操作"

Windows 10 Build 9879 新变化(内含ISO下载)

微软在13号发布了Windows 10 Build 9879:和9860不用的是,这个版本微软提供了ISO下载,大家可以进行全新安装了,下面是我提供的ISO文件下载: Windows 10 build 9879 64-bit ISO image Windows 10 build 9879 32-bit ISO image 和9860一样,新增的一些功能都还是英文,没来得及汉化,我们来看看9879在功能上都有哪些明显的变化. 1. 搜索按钮和任务视图终于可以由用户来自定义了,以前是固定在任务栏上用

Windows Phone 8.1 新功能 - 应用栏控件

2014年4月3日的微软Build 2014 大会上.Windows Phone 8.1 正式公布. 相较于Windows Phone 8.不论从用户还是开发人员的角度,都产生了非常大的变化. 接下来我们会用几篇文章来了解一下这些变化给开发人员带来的影响,以及我们怎样更好的利用WP8.1 的新特性. WP8.1 最大的变化就是与Windows Store App 的结合,我们把它们统称为Windows RunTime apps.WP8.1 中的控件位于Windows.UI.XAML.Contro

Windows 10 Creators Update 正式版全集 下载链接

[Windows10创意者更新正式版] Windows10CreatorsUpdate,2017年4月5日发布,开发代号Redstone2(RS2),系统版本号Version1703,编译版本号Build15063. 此为最新的官方正式版,可取代此前的RS1周年更新版.TH2更新版,以及最初的RTM正式版,推荐更新.(复制ed2k地址到迅雷或者其他下载工具即可,U盘更新方法在文末) [64位简体中文专业/家庭版] 文件名:cn_windows_10_multiple_editions_versi

Windows 10:现代化世界中安全与身份的守卫者

Windows 10 技术预览版带来了超多惊喜和震撼,其中,Windows Insider 计划取得了难以置信的进展,最近的总注册人数突破了 100 万大关,并获得了超过 200000 条用户反馈.感谢您注册此项计划,并为我们提供宝贵的反馈意见!我们希望 Windows 10 真正迎合您的业务需求,我早已迫不及待亲眼见证目前发生的一切.我的前一篇博客文章中提到了我已经开始跟进的一些重点领域.今天,我要重点讲述 Windows 10 中的安全性,自从我们正式发布技术预览版以来,我亲身经历的很多客户

如何在Windows 10安装和使用Linux的Bash shell

转载自:百度经验 Windwos 10 的周年更新为开发人员提供一个大的新功能:一个完整的,基于Ubuntu的Bash shell中,可以直接在Windows上运行Linux软件. 这使得"Linux子系统用于Windows 10成为可能. 方法/步骤 确保您使用至少是Windows 10的14316版本. 这种方法只适用于64位版本的Windows 10. 打开设置应用程序和头部更新和安全>对于开发. 在这里启动"开发者模式"开关,使开发者模式. 接下来,打开控制面板