假设我想这样做,所以我可以找到鼠标相对于a的当前位置Visual
,而无需访问特定的鼠标事件:
public static Point GetMousePosition(this Visual relativeTo)
{
return relativeTo.PointFromScreen(GetMousePositionOnScreen());
}
Run Code Online (Sandbox Code Playgroud)
有时(通常当我刚刚在两个选项卡控件之间切换时)PointFromScreen
会抛出一条InvalidOperationException
消息:此Visual未连接到PresentationSource.
在查看可用的属性时,Visual
我看不到与a有关的任何内容PresentationSource
.
给定a Visual
,当我调用PointFromScreen
它时,如何判断它是否会抛出该异常?
Chr*_*isF 24
有一种静态方法PresentationSource.FromVisual
:
返回提供Visual的源.
我知道这不能解决根本问题,但您可以在调用之前检查Visual是否连接到PresentationSource PointFromScreen
.它可以防止异常,但你需要做一些更多的调查,看看为什么它首先没有连接.
归档时间: |
|
查看次数: |
14605 次 |
最近记录: |