WPF 獲取滑鼠指標下的元素

2021-09-06 00:20:08 字數 746 閱讀 8148

[wpf]獲取滑鼠指標下的元素

周銀輝以前寫過一些getelementundermouse之類的函式,要用到座標換算而顯得有些麻煩(特別是當元素有***transform的時候)

今天看到mouse類居然有乙個directlyover屬性,可以獲得滑鼠下的元素, 很奇怪,我的msdn文件以及vs2008智慧型提示中都沒有顯示該屬性,但反編譯一下可以看到。

但必須注意到的一點是,wpf控制項是由各個元素復合而成的,但mouse類可不知道這概念,所以不要期望它為了返回乙個button,其很可能會返回button的visualtree中的textblock等,所以,如果我們加上如下的方法就完美了:

public

static

t findvisualparent

<

t>

(uielement element) 

where

t : uielement

parent 

=visualtreehelper.getparent(parent) 

asuielement;

}return

null;}

兩者結合一下,我們的getelementundermouse方法便可以如下書寫:

public

static

t getelementundermouse

<

t>

() where

t: uielement

WPF 獲取滑鼠指標下的元素

原文 wpf 獲取滑鼠指標下的元素 wpf 獲取滑鼠指標下的元素 周銀輝以前寫過一些getelementundermouse之類的函式,要用到座標換算而顯得有些麻煩 特別是當元素有 transform的時候 今天看到mouse類居然有乙個directlyover屬性,可以獲得滑鼠下的元素,很奇怪,我...

Wpf 滑鼠拖動元素例項

1.wpf中滑鼠捕獲和釋放 以矩形為例 建立滑鼠捕獲 mouse.capture rectone 釋放滑鼠捕獲 rectone.releasemousecapture 2.wpf中在定位布局canvas下獲取或設定元素的位置 在指定元素的滑鼠事件中例如,mouseleftbuttondown,mou...

WPF 自定義滑鼠指標

wpf 自定義滑鼠指標 周銀輝看看wpf cursor類的兩個建構函式吧 public cursor stream cursorstream public cursor string cursorfile 恩,均要求用 ani 或 cur,無語啊,我要使用一張普通呢?或者甚至是在程式記憶體中動態生成...