天下网吧 >> 网吧方案 >> 网络方案 >> 正文

了解WPF中的路由事件和命令


图8运行中的自定义命令示例(单击图像可查看大图)

    表示器代码如图 9 中所示。您可以看到表示器构建了表示模型,并通过 Model 属性将其公开给视图。从视图调用 AddCommandHandler 时(响应第二个按钮 Click 事件),它会向模型的 CanExecuteTargets 和 ExecuteTargets 添加一个订户。这些订阅方法是表示器中的简单方法,它们分别返回 true 并显示 MessageBox。

    public class SimpleViewPresenter {  public SimpleViewPresenter() {    Model = new SimpleViewPresentationModel();  }  public SimpleViewPresentationModel Model { get; set; }  public void AddCommandHandler() {    Model.CookDinnerCommand.CanExecuteTargets += CanExecuteHandler;    Model.CookDinnerCommand.ExecuteTargets += ExecuteHandler;  }  bool CanExecuteHandler() {    return true;  }  void ExecuteHandler(string msg) {    MessageBox.Show(msg);  }}本 例显示数据绑定、UI 模式和自定义命令的组合将为您带来清晰独立的命令途径,可以摆脱路由命令的限制。由于命令是通过绑定以 XAML 形式挂接的,您甚至可以通过此方式完全用 XAML 定义视图(没有代码隐藏)、从 XAML 使用绑定命令触发表示模型中的操作、启动您原本需要表示模型代码隐藏执行的操作。

    您 需要控制器来构建视图并为其提供表示模型,但您不用代码隐藏就能编写交互视图。如果无需代码隐藏,在代码隐藏文件中添加相互纠结、不可测试的复杂代码的机 率会大大降低,在 UI 应用程序中,这种情况经常出现。此方式刚在 WPF 中试用。但它的确值得考虑,您应该了解更多的示例。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wmjcom/archive/2009/05/22/4208406.aspx

上一页  [1] [2] [3] [4] [5] [6] 

本文来源:天下网吧 作者:网吧方案

相关文章
没有相关文章
声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下