2010-06-07 313 views

回答

17

您可以將ICommand附加到另一個屬性並從Click處理程序執行它。

<Button x:Name="MyButton" Tag="{x:Static ApplicationCommands.Stop}" Click="MyButton_Click" /> 

並在處理程序:

private void MyButton_Click(object sender, RoutedEventArgs e) 
{ 
    var button = sender as Button; 
    if (button != null) 
    { 
     var command = button.Tag as ICommand; 
     if (command != null) 
      command.Execute(button.CommandParameter); 
    } 
} 

你想也需要做一些額外的工作,如果你想保留命令禁止的行爲。

+0

我用它,謝謝約翰 – Tomas1 2010-06-08 12:59:14

-3

命令是一種星期事件。好的想法命令是你不需要使用事件。實際上,如果使用Viewmodel模式,則不需要使用任何代碼和事件。見繼電器命令:http://blog.galasoft.ch/archive/2009/09/26/using-relaycommands-in-silverlight-and-wpf.aspx

+1

這是不對的,你需要的,如果你想查看更新之類的東西SeletedItem在視圖模型或在處理背後使用代碼具體的方式如何選擇工作。 – 2011-08-23 12:46:44