【问题标题】:DrawingVisual selection working - deselecting, not so much绘图视觉选择工作 - 取消选择,不是那么多
【发布时间】:2010-06-22 12:29:25
【问题描述】:

好的,我在我的自定义 FrameworkElement 中获得了几个形状,以便进行命中测试选择。如果用户单击空白区域,接下来是取消选择所有形状的任务。这在默认情况下不起作用,因为如果您单击“空白”区域,FrameworkElement 不会触发 mousedown 事件。

人们是否通过将背景矩形作为其框架元素中的第一个绘图视觉对象来解决此问题(将接受点击,但与点击前景对象的处理方式不同),或者他们是否处理“空”mousedown 事件构造 FrameworkElement 的类(在我的例子中是 MVVM 设置中的 Viewmodel)?还是我没有考虑的第三种方式?

谢谢

【问题讨论】:

    标签: wpf rendering


    【解决方案1】:

    尝试将背景设置为透明,您很可能会收到鼠标按下事件。

    不是从 FrameworkElement 派生,而是从 Control 类派生控件。 Control 类具有 Background 属性,您将其设置为透明以获取鼠标按下事件。有关直接从 FrameworkElement 派生的 cmets,请参见以下链接:

    http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.aspx

    【讨论】:

    • 没有要设置的背景——我的 FrameworkElement 由小形状组成,每个形状都由一个 DrawingVisual 组成。您是否建议我向 DrawingVisual 集合添加一个透明矩形?
    猜你喜欢
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    相关资源
    最近更新 更多