我再次提出一个可能很简单的问题:
我正在尝试在我的Scrollviewer中获取MousePosition:
[[AVAudioSession sharedInstance] setActive:NO withFlags:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error];
但是当我的鼠标超过其他UIElement时出现问题 - 源是UIElement而不是我的Scrollviewer - “错误”位置:
我现在可以做一个“CurrentMousePosition = e.GetPosition((IInputElement)e.OriginalSource);
”,但我也需要HitTest of the Elements。
XAML:
IsHitTestVisible="false"
谢谢!
答案 0 :(得分:1)
我认为在你完成任务之前:
CurrentMousePosition = e.GetPosition((IInputElement)e.OriginalSource);
当发件人属于不同类型时,您可以进行检查并快速退出:
var scollViewer = e.OriginalSource as ScrollViewer;
if(scrollViewer == null) return; //short circuit
CurrentMousePosition = e.GetPosition(scrollViewer);
另外(抱怨唠叨),但听起来你的属性CurrentMousePosition
真的是用于监控ScrollViewer
的鼠标位置。如果是这样,为了清楚起见,最好将其命名为ScrollViewerMousePosition