日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

wpf 代码获取contextmenu_[C#] 转:在WPF里面获取右键弹出菜单(ContextMenu)的鼠标点击源(Owner)控件...

發(fā)布時(shí)間:2025/3/8 C# 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wpf 代码获取contextmenu_[C#] 转:在WPF里面获取右键弹出菜单(ContextMenu)的鼠标点击源(Owner)控件... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

WPF的ContextMenu沒(méi)有類(lèi)似WinForm里面ContextMenu.SourceControl的概念,但是你可以通過(guò)ContextMenuService的GetPlacementTarget方法來(lái)獲取類(lèi)似的效果。

很多時(shí)候,我們會(huì)希望在WPF的資源文件里面定義一個(gè)通用的右鍵彈出菜單,然后將這個(gè)菜單通過(guò)定義在各個(gè)控件的ContextMenu屬性來(lái)設(shè)置用戶右擊控件時(shí)彈出菜單。然而因?yàn)閃PF的一些設(shè)計(jì)不足,你不能在右鍵菜單的點(diǎn)擊事件處理函數(shù)中獲知右鍵菜單彈出時(shí),鼠標(biāo)的焦點(diǎn)是在哪個(gè)控件上?

例如下面的代碼:

XAML代碼:

<Window.Resources>

<ContextMenux:Key="sampleContextMenu">

<MenuItemHeader="MenuItem1"Click="WhoBringMeOut"/>

ContextMenu>

...

Window.Resources>

<TreeView>

<TreeViewItemHeader="TreeViewItem1"ContextMenu="{StaticResource

sampleContextMenu}"/>

<TreeViewItemHeader="TreeViewItem2"ContextMenu="{StaticResource

sampleContextMenu}"/>

<TreeViewItemHeader="TreeViewItem3"/>

TreeView>

<DockPanelContextMenu="{StaticResource

sampleContextMenu}">

<ImageSource="img1.ico"/>

<TextBlockText="QuicklyAccess"/>

DockPanel>

C#代碼:

public?void?WhoBringMeOut(object?sender,

RoutedEventArgs e)

{

//

sender的值是被點(diǎn)擊的MenuItem,而不是觸發(fā)右鍵菜單

//彈出的控件,例如TreeViewItem,或者是DockPanel

}

這種情況下你可以通過(guò)ContextMenuService的GetPlacementTarget方法來(lái)獲取類(lèi)似的效果。

然而,看起來(lái)WPF在MenuItem.Click事件處理上面有一點(diǎn)bug,就是你不能通過(guò)(sender as

MenuItem).ContextMenu

獲取到點(diǎn)擊的右鍵菜單,只好求助于LogicalTreeHelper.GetParent方法了,

使用下面的方法獲取到ContextMenu的Owner:?ContextMenuService.GetPlacementTarget(LogicalTreeHelper.GetParent(sender

as MenuItem))

也就是說(shuō)上面的C#代碼改成下面的樣子就可以了:

public?void?WhoBringMeOut(object?sender,

RoutedEventArgs e)

{

ContextMenuService.GetPlacementTarget(

LogicalTreeHelper.GetParent(sender?as?MenuItem));

}

總結(jié)

以上是生活随笔為你收集整理的wpf 代码获取contextmenu_[C#] 转:在WPF里面获取右键弹出菜单(ContextMenu)的鼠标点击源(Owner)控件...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩少妇裸体做爰视频 | 97精品人妻一区二区三区香蕉 | 精品一区二区中文字幕 | 精品无码av一区二区三区不卡 | 国产91九色| 国产精品久久久久毛片大屁完整版 | 午夜久久| 国产欧美一区二区三区视频 | 1000部啪啪未满十八勿入 | 久久综合色综合 | 欧美xxxxx自由摘花 | 中文字幕激情小说 | 懂色av中文一区二区三区天美 | 中日黄色片 | 天天操天天射天天爽 | 欧美亚洲综合在线 | 91亚洲高清 | 午夜激情影院 | av老司机在线播放 | 黄色一级大片在线免费看国产 | 亚洲黄色免费电影 | 三级特黄视频 | 日韩欧美激情在线 | 亲嘴扒胸摸屁股激烈网站 | 日本三级日本三级日本三级极 | 午夜精品小视频 | 久久久久久久久久久97 | 久久精品男人的天堂 | 嫩草视频网站 | 精品国产一区二区三 | 狠狠操夜夜 | jizz亚洲女人高潮大叫 | 午夜小影院 | www.在线观看网站 | 国产11页 | 亚洲av中文无码乱人伦在线观看 | 日韩av一区二区在线播放 | 日韩欧美精品在线观看 | 亚洲免费在线观看av | 日本一区二区在线播放 | 麻豆视频传媒 | 精品免费久久久 | 天天干天天操天天操 | 国产精品456| 久久久久亚洲av无码专区体验 | 在哪里看毛片 | 国产香蕉97碰碰碰视频在线观看 | 黄色变态网站 | 亚洲成人一级 | 欧美三级在线播放 | 美女av在线免费观看 | 日韩理论片在线观看 | 色综合久久88色综合天天免费 | 尤物视频在线观看国产 | 欧美视频免费看 | 久久国产精品毛片 | 成人免费视频国产免费麻豆 | www,xxx日本 | 久草福利在线 | 亚洲制服在线观看 | 性xxxx18| 最全aⅴ番号库 | 国产精品视频在线观看免费 | 日本91在线 | 国产成人无码久久久精品天美传媒 | 91激情| 狠狠操伊人| 少妇高潮淫片免费观看 | 日本一级黄色大片 | 欧美黄色影院 | 日本久久久久久久久久久 | 亚洲视频在线观看免费视频 | av线上免费观看 | 性www| 日本不卡视频 | 日韩另类视频 | 午夜啪视频 | 亚洲国产精品一 | 久久精品视频1 | 欧美日韩三级视频 | 夜夜春视频 | 色涩色| 美女久久视频 | 毛片精品 | 日韩淫片| 欧美精品在线视频 | 日狠狠| 久久久久久久久久影视 | 性视频欧美| 免费成人福利视频 | 亚洲资源在线播放 | jzzijzzij日本成熟少妇 | 精品人妻互换一区二区三区 | 亚洲高清在线观看视频 | xxxxxxxx黄色片 | 中文字幕精品一区二 | 在线播放第一页 | 无码精品人妻一区二区三区漫画 | 亚洲h在线观看 |