【问题标题】:Drawing on multi screen with WPF使用 WPF 在多屏幕上绘图
【发布时间】:2009-12-07 21:55:27
【问题描述】:

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

然后,我想允许在窗口上绘制一个矩形。所以,我创建了一个矩形,当鼠标移动和鼠标点击时我添加到窗口中...... 这是有效的,除非我正在绘制一个从一个窗口开始并在另一个窗口结束的矩形。当然,因为不是同一个窗口……

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

感谢您的帮助,

【问题讨论】:

    标签: c# windows drawing fullscreen


    【解决方案1】:

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

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

    注意多显示器设置,其中主屏幕位于辅助屏幕的另一侧,或者屏幕堆叠在一起。

    我们在我们的应用程序中成功地做到了这一点。

    【讨论】:

    • 这样,我可能会覆盖未使用的空间,例如如果一个屏幕比另一个大
    • 这是这种方法的潜在缺陷。我们对部署应用的环境有一定的控制权,所以这不是问题。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多