【发布时间】:2013-12-02 09:32:58
【问题描述】:
偶然看到了buttonbase.cs的参考源码:
protected virtual void OnClick()
{
RoutedEventArgs newEvent = new RoutedEventArgs(ButtonBase.ClickEvent, this);
RaiseEvent(newEvent);
MS.Internal.Commands.CommandHelpers.ExecuteCommandSource(this);
}
我知道第一个 roundedevent 是我在“属性”窗口中生成事件处理程序时,第二个是我在 xaml 中添加的命令绑定。
我很好奇为什么按钮支持这两种机制。 我可以说第一个是为了向后兼容而第二个是在 MVVM 世界中推荐的吗?
【问题讨论】: