WPF 關於父級容器給子級控制元件新增附加事件
本人菜鳥一個 以前只知道WPF可以做到在父級容器中給內部空間新增附加事件,但因為未涉及相似案例,所以幾乎是沒有用過。
最近做專案中遇到了在一個容器中有很多Button的需求,於是想起了附加事件來做這件事情。但由於每個Button的觸發事件的內容的不同,需要在時間內部判斷由哪個事件觸發,遇到了問題。在這邊大致說一下所遇到的問題
如圖:
每個Button的Tag都有單獨的值,以StackPanel作為父級容器,並且綁定了Button.Click附加事件
正常來講 sender應該就是觸發事件的控制元件物件,也就是Button 可是實際執行時卻不是這樣
如圖 所拿到的物件是父級物件StackPanel,
在百度和論壇中翻了很久,發現好像沒有人做過類似的事情(難道只有我這麼蠢?),無奈只能自己慢慢琢磨。
在最後的最後 我終於想起來RoutedEventArgs也能拿到觸發事件的物件,於是便試了試,居然成功了
對此 有點不理解 但也算是解決了問題,希望有大佬看到本文章可以在留言區為我解答一下疑惑0.0。
相關推薦
WPF 關於父級容器給子級控制元件新增附加事件
本人菜鳥一個 以前只知道WPF可以做到在父級容器中給內部空間新增附加事件,但因為未涉及相似案例,所以幾乎是沒有用過。最近做專案中遇到了在一個容器中有很多Button的需求,於是想起了附加事件來做這件事情。但由於每個Button的觸發事件的內容的不同,需要在時間內部判斷由哪個事
給佈局,控制元件新增陰影,包裹它設定陰影顏色,長度,偏移即可
public class ShadowLayout extends FrameLayout { private int mShadowColor; private float mShadowRadius; private float mCornerRadius; p
Android自定義控制元件(二)-給自定義控制元件新增事件
在這篇部落格中主要講解給Android自定義控制元件新增點選事件,實現可以按住百分比圓圈在螢幕上進行拖動圓圈的功能。分兩部分講,第一部分是獲取自定義控制元件的座標,第二部分是重新繪製控制元件。 第一部分:獲取自定義控制元件座標 首先看一張圖,這是自定義控制元件中獲
c# winform 給自定義控制元件新增事件
1)使用者控制元件UserControl1.cs using System; using System.Collections.Generic; using System.ComponentModel
asp.net中為TextBox Web伺服器控制元件新增OnClick事件
在進行Web應用開發的時候,有時會需要使點選文字框控制元件(TextBox)執行某個特殊的任務,但TextBox卻沒有按鈕那樣的OnClick事件。百度了一段時間,發現了這個解決方法,貼於此,供大家共享。 // .aspx<asp:TextBox ID="TextBo
jquery獲取父級元素、子級元素、兄弟元素的方法
next 返回結果 初始 對象 clas 祖先 eval p s all jQuery.parent(expr) 找父親節點,可以傳入expr進行過濾,比如$("span").parent()或者$("span").parent(".class") jQuery.par
js和jquery獲取父級元素、子級元素、兄弟元素的方法
最近工作中總遇到取各種父啊子啊兄弟姐妹啊,每次都得查,這次整理個全乎的~ 【js的獲取方式】 function dom(){ var a = document.getElementByIdx_x_x("dom"); var b =
Android:控制元件佈局(相對佈局)RelativeLayout RelativeLayout是相對佈局控制元件:以控制元件之間相對位置或相對父容器位置進行排列。 相對佈局常用屬性: 子類控制元件相對子
RelativeLayout是相對佈局控制元件:以控制元件之間相對位置或相對父容器位置進行排列。 相對佈局常用屬性: 子類控制元件相對子類控制元件:值是另外一個控制元件的id android:layout_above----------位於給定DI控制元件之上 android:layout_below -
CSS3——解決父級元素包裹子級元素的方法(偽元素+其他)
利用偽元素清除浮動: 你要解決浮動的為題必須在父級的邏輯的後面加上一個p元素來清除浮動吧,你加完p元素之後破壞結構了,不好,咱相加,又不能加,就用偽元素最合適了吧! <!DOCTYPE html> <html> <head> &l
jquery獲取父級元素和子級元素
<script type="text/javascript"> function show(x){ var y=$(x);//轉換成jquery物件 //查詢父元素 alert( y.parent().attr("name"));
jquery 獲取父級元素、子級元素、兄弟元素的方法
jQuery.parent(expr) 找父親節點,可以傳入expr進行過濾,比如("span").parent()或者(“span”).parent(“.class”) jQuery.parents(expr),類似於jQuery.parents(expr)
使用Jquery獲取父級iframe、子級iframe元素
獲取父級iframe中的元素$("#父頁面元素id" , parent.document) 獲取子級iframe中的元素$('#子頁面元素').contents().find('#需要找的子頁面元
Android 自定義檢視容器控制元件攔截ontouch事件傳遞給其子控制元件
自定義View 控制元件: /* * * 一個檢視容器控制元件 * 阻止 攔截 ontouch事件傳遞給其子控制元件 * */ public class InterceptScrollCon
vue父組件給子傳參
title .... pro 傳參 ops data child html prop 父: html ....... <child :title="sontitle"></child> ...... js data: sont
vue 父組件給子組件傳值
mem pro port head 雙引號 efault 引號 imp eth 父組件Home.vue 1 <template> 2 <div> 3 <h2>這是一個首頁{{msg2}}</h2><butt
主視窗關閉時觸發子視窗的關閉事件 wpf使用者控制元件的關閉事件 wpf usercontrol 釋放時觸發關閉事件
/// <summary> /// 關閉視窗事件 /// </summary> /// <param name="sender"></param> /// <
WPF 給控制元件新增可以繫結的命令
在WPF裡的Button有一個可以繫結的Command的屬性,只要繫結好這個屬性以後,只要你ClickButton就 會執行這個命令,但這時我們可以考慮一下這個問題,為什麼是Click來觸發呢?為什麼不是右鍵單擊來觸發呢, 下面研究一下,怎麼能寫一個右鍵單機能觸發的命令:
18.父組件給子組件傳值
idt 分享 fff eight ima round back 分享圖片 color 1.父組件給子組件傳值 2.父組件把方法傳遞給子組件 18.父組件給子組件傳值
【Android】子控制元件搶佔父控制元件點選事件問題
有一個全屏的Activity,根佈局是RecyclerView,每個item佔一個螢幕,item內包含一個預覽圖片。需求是,在這個介面手指下滑,直接退出這個Activity。誤區:一開始我在這個Activity的根佈局設定了點選事件,在TouchEvent中的ACTION_D
從父視窗中獲取子視窗控制代碼以及其例項控制代碼
獲取父視窗控制代碼 HWND hWnddlg = AfxGetMainWnd()->m_hWnd; //主視窗控制代碼 或者 HWND hWnddlg = this->m_hWnd; //主視窗控制代碼 獲取子視窗控制代碼 如果子視窗是控制元件,並有控制元件