如何在第二个显示器屏幕上隐藏窗口的一部分。

3
窗口移到了第二个显示器,但不应该可见。如何隐藏这个区域?

你唯一的选择就是调整窗口大小以适应屏幕,无法使窗口的某个部分不可见。为什么你会想要这样做呢? - Glen Thomas
很抱歉,那是不可能的。 - Nick Sologoub
我创建了一个类似于Windows 10中操作中心的应用程序。但是他们做了吗? - user3328301
1个回答

1

不清楚为什么需要这个,但可以通过一些努力实现。关键在于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中的操作中心中点击图标时弹出。您的方法对我来说是正确的,但问题出现在窗口背景上的模糊。 - user3328301

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接