15063git
窗口設置高斯模糊了,只要幾行代碼!github
<Grid Loaded="Grid_Loaded"> <Grid x:Name="mg" /> <Grid Background="Blue" Opacity="0.4" x:Name="rootGrid" ></Grid> <!--Your UIElements--> </Grid>
public Windows.UI.Composition.Compositor _compositor; public 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(); }
畫中畫windows
ApplicationView.GetForCurrentView().IsViewModeSupported(ApplicationViewMode.CompactOverlay)
進入畫中畫app
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);
退出畫中畫this
bool modeSwitched = await ApplicationView.GetForCurrentView().TryEnterViewModeAsync(ApplicationViewMode.Default);
也能夠結合UWP的多窗口功能spa
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.net
微軟關於畫中畫功能的介紹:https://blogs.msdn.microsoft.com/universal-windows-app-model/2017/02/11/compactoverlay-mode-aka-picture-in-picture/orm
https://git.oschina.net/PixeezPlus/Sharp2DDemo/tree/master/GaussianBlurWindowblog
只在PC的Creaters Update以上版本有效ip