C# 如何在第二个监视器(屏幕)上隐藏部分窗口

C# 如何在第二个监视器(屏幕)上隐藏部分窗口,c#,wpf,windows,xaml,screens,C#,Wpf,Windows,Xaml,Screens,该窗口将转到第二个监视器,但不应显示。如何隐藏该区域 不清楚您为什么需要这样做,但需要一些努力才能实现。诀窍是OpacityMask属性,它允许使元素部分透明。一些代码可以让您大致了解: public MainWindow() { InitializeComponent(); this.WindowStyle = WindowStyle.None; // required for AllowsTransparency thi

该窗口将转到第二个监视器,但不应显示。如何隐藏该区域


不清楚您为什么需要这样做,但需要一些努力才能实现。诀窍是OpacityMask属性,它允许使元素部分透明。一些代码可以让您大致了解:

public MainWindow() {
        InitializeComponent();            
        this.WindowStyle = WindowStyle.None; // required for AllowsTransparency
        this.AllowsTransparency = true; // allow window to be transparent            
        var group = new DrawingGroup();
        // make first 100x1000 part of window transparent
        group.Children.Add(new GeometryDrawing() {Brush = Brushes.Transparent, Geometry = new RectangleGeometry(new Rect(0, 0, 100, 1000))});
        // make the rest part white or whatever color you use
        group.Children.Add(new GeometryDrawing() {Brush = Brushes.White, Geometry = new RectangleGeometry(new Rect(100, 0, 1000, 1000))});
        this.OpacityMask = new DrawingBrush(group) {
            Stretch = Stretch.None,
            AlignmentX = AlignmentX.Left,
            AlignmentY = AlignmentY.Top
        };
    }

您唯一的选择是调整窗口大小以适应屏幕,您不能使部分窗口不可见。你为什么要这么做?恐怕这不可能。我创建了一个类似于Windows 10中操作中心的应用程序。但是他们做到了?谢谢。我正在创建一个菜单信息,当单击Windows 10中作为操作中心的系统托盘中的图标时,它会弹出。你的方法对我来说是正确的,但问题出现在窗口背景的模糊中