繁体   English   中英

如何引用不在代码隐藏中但在另一个 object 中的事件处理程序?

[英]How to reference event handlers that are not in code-behind, but are in another object?

我可以将 DataContext 设置为任何 object,然后将该 object 的属性绑定到我的控件。

我想对事件处理程序做同样的事情。 我有一个 class 的事件处理程序,我希望 xaml 使用。 但是,xaml 在后面的代码中查找事件处理程序。

    <Button Click="OnSearch"/>

我收到警告,告诉我在 class 后面的代码中不存在 OnSearch。

  1. 我希望 OnSearch 在另一个 object 中。 我怎样才能做到这一点?
  2. 如果我希望 xaml 在数据上下文 object 中查找事件处理程序怎么办?

我是 WPF 的新手,我正在努力学习。 我尝试在事件处理程序上绑定,但这显然不起作用!

我认为为此目的你应该使用Commands而不是Events

您需要定义从RoutedCommand派生的YourRoutedEvent

并将其绑定到您的Button控件的命令。 YourRoutedEvent 中,您可以在应用程序的不同状态下以不同的方式实现任何复杂的逻辑,这可能就是您想要的,这就是为什么询问动态事件绑定的原因。

这是演示命令绑定技术的示例链接:

命令绑定

问候。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM