我有一个装饰器跟随鼠标光标移动。但是一旦鼠标移出窗口,装饰器就会被截断。
是否可以将装饰器层扩展到整个屏幕或创建一个新的装饰器层?
我有一个装饰器跟随鼠标光标移动。但是一旦鼠标移出窗口,装饰器就会被截断。
是否可以将装饰器层扩展到整个屏幕或创建一个新的装饰器层?
protected override void OnRender(DrawingContext dc) {
dc.DrawRectangle(bg, null, new Rect(RenderSize));
dc.DrawRectangle(Brushes.Red, null, new Rect(start, end));
}
背景刷就像这样,
private Brush bg = new SolidColorBrush(Color.FromArgb(0x01, 0, 0, 0));
你可能可以做到这一点,但我不确定你想要在adorner层上做什么。我的解决方案只允许adorner在窗口有焦点的情况下跟随鼠标移动。请分享您的最终目标,以便我能更好地帮助您。
我的想法是创建一个全屏、无边框、透明背景的窗口来容纳任何控件。您窗口的非透明部分将位于网格内。
创建一个新窗口。将其WindowBorderStyle设置为“None”,宽度和高度设置为“Auto”,并将“WindowState”设置为“Maximized”。(我此刻没有看IDE,所以属性名称可能略有偏差。)
复制原始窗口中网格(或其他主要容器)的XAML代码,并将其粘贴到新窗口中。确保用粘贴的网格替换新窗口中的空网格。
这样就可以让adorner层在整个窗口中跟随鼠标移动。
再次在此处发布您的确切目标,以便我能给出更适合您特定需求的答案。