2010-05-31 32 views

回答

4

一個按鈕有一個Command屬性。您應該通過綁定到ViewModel公開的ICommand來代替Click事件。

編輯:

兩種可能性:

1)MVVM路:有你的用戶控件的視圖模型的命令,然後您可以從您使用網頁的視圖模型設置屬性。

2)非MVVM方式(儘管你可以將它與1結合):在你的UserControl上有一個你在UserControl的XAML中綁定的命令的依賴屬性。然後您可以從使用頁面綁定到此依賴項屬性。

+0

我該如何讓ICommand在使用此用戶控件的頁面中調用方法? – user294636 2010-05-31 11:36:57

2

您可以在更高的父控件定義事件:

通常你會:

<Grid> 
     <Button Click="SomeMagicalEventHandler" /> 
</Grid> 

但如下,你也可以定義網格上的事件:

<Grid Button.Click="SomeMagicalEventHandler"> 
     <Button /> 
</Grid> 

當然,只要它沒有在你的事件處理程序(arguments.Handled = true;)中處理,它會向上冒泡你的視覺樹,直到它到達你的頁面!

希望這會有所幫助!

相關問題