假設在stackpanel面板中包含了一堆按鈕,並且希望在乙個事件處理程式中處理所有這些按鈕的事件,一種辦法是每個按鈕的click事件關聯到同乙個事件處理程式。還有一種更簡單的辦法,可以通過處理更高元素的click事件來處理所有按鈕的單擊事件。
<stackpanel
button.click
="dosomething"
margin
="5"
>
<
button
name
="cmd1"
>button1
button
>
<
button
name
="cmd2"
>button2
button
>
<
button
name
="cmd3"
>button3
button
>
<
button
name
="cmd4"
>button4
button
>
stackpanel
>
如果想判斷是哪乙個按鈕被點選,可以根據按鈕的name屬性進行判斷
privatevoid dosomething(object sender, routedeventargs e)
else
if (sender == cmd2)
else
if (sender == cmd3)
else
if (sender == cmd4)
}
還有一種辦法可以根據按鈕的tag屬性進行判斷,必須要設定tag的值
privatevoid dosomething(object sender, routedeventargs e)
WPF 二 路由事件1 冒泡路由事件
wpf中的路由事件是具有更強傳播能力的事件,它們可以在元素樹中向上冒泡和向下隧道傳播,並且沿著傳播路徑被事件處理程式處理。下面的例子演示了事件冒泡的過程。window x class prj05 1.mainwindow xmlns xmlns x title bubbledlabelclick h...
WPF學習系列025 3 3 1 路由事件的實現
3.3.1 路由事件的實現 路由事件的型別為 system.windows.routedevent 所有的路由事件成員都必須是 public static 並且有乙個 event 作為字尾。路由事件通常通過呼叫 eventmanager.registerroutedevent 靜態方法建立。這個方法...
MVC高階篇(二) 路由機制
這個東西好像,一般也不經常動,都用預設的即可。由於 mvc模式在 framework 裡面的解析機制,區別與 webform 模式,是採用解析路由機制的 url。從來例項化檢視列物件,然後對該 action 進行操作,所以路由顯得也很重要,也可以理解為這個是乙個預設的 rul。按照上文 mvc模式,...