没有事件处理程序的Wpf

时间:2012-04-15 11:37:23

标签: wpf events handler

编辑:我误读了作业....没有事件处理程序,因为他不希望我们提前工作,我们只是将一组数据绑定到要显示的控件。

wpf中的家庭作业的小问题。我们正在建立一个项目的每项工作,我们现在正在约束。用户将数据输入到文本框中,并将两组数据显示为两个数据网格。现在,显示的内容是硬编码而不是从数据库中提取。我可以让它显示数据,我可以让它显示基于文本框输入的正确数据,但我们不允许使用事件处理程序。那么如何在没有事件处理程序的情况下读取按钮单击呢?

我可以绑定文本框和窗口的标题,以便在文本框中更改文本时更改,但我无法获取文本框中的内容。我可能会忽略书中的某些内容,但至少如果没有按钮的事件处理程序,我看不出这是怎么回事。

3 个答案:

答案 0 :(得分:2)

另一种方法是将一个按钮绑定到一个Command,这就是真正取代事件

的原因
 <Button Command="{Binding ViewModel.YourCommand}"

 <Button Command="{Binding ViewModel.Cmd}" CommandParameter="{Binding ViewModel.CmdParam}"/>

在ViewModel中,您可以完成所有逻辑操作。虽然您可以将命令放在YourView.xaml.cs中,这取决于您的MVVM设计(意味着如果您认为该功能不属于ViewModel)

答案 1 :(得分:1)

您可以将datagrid多重绑定到两件事:源数据和文本框。在转换器中,您可以分析文本框的内容并选择要显示的数据的正确部分。

答案 2 :(得分:0)

如果您不允许使用事件并且需要在界面中使用按钮,那么命令绝对是可行的方法。

实际上,自WPF发布以来,命令是事件交互的首选解决方案。由于我主要使用MVVM进行开发,所以我不记得上一次关注按钮事件了。

另外,将按钮链接到互动的其他方式都是肮脏的黑客。

也许这是向你的课程迈进一步,但仍然值得一读:http://msdn.microsoft.com/en-gb/magazine/cc785480.aspx