使用WPF在多屏幕上绘图

时间:2009-12-07 12:24:09

标签: c# windows drawing fullscreen

我创建了一个应用程序,在每个监视器上显示最顶层窗口,以覆盖所有可用位置。

然后,我想允许在窗户上画一个矩形。因此,我创建了一个矩形,当鼠标移动和鼠标单击时我将其添加到窗口中... 这是有效的,除非我正在绘制一个从窗口开始并在另一个窗口上完成的矩形。当然,因为它不是同一个窗口......

如何允许同时在两个窗口上绘图?

感谢您的帮助,

2 个答案:

答案 0 :(得分:0)

您可以创建一个跨两个屏幕延伸的窗口。

使用System.Windows.Forms中的Screens集合(或WPF中的任何位置)和WorkingArea属性来计算窗口的正确范围。

请注意多显示器设置,其中主屏幕是辅助屏幕的另一侧,或者屏幕是相互堆叠的。

我们在申请中成功完成了这项工作。

答案 1 :(得分:0)

另一种(可能更好)的方法是将关于矩形的数据存储在模型类中(使用MVVM方法)。然后每个视图查看虚拟画布的单独部分。这样,他们都可以从模型中监听数据的更新,并相应地绘制显示的部分。