0

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

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

我可以绑定文本框和窗口的标题,因此它会随着文本框中的文本更改而更改,但我无法获取文本框中的内容。我可能忽略了书中的某些内容,但我看不出至少没有按钮的事件处理程序是怎么可能的。

4

3 回答 3

2

另一种方法是将按钮绑定到命令,这才是真正替换事件的方法

 <Button Command="{Binding ViewModel.YourCommand}"

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

在 ViewModel 中,您执行所有逻辑。虽然您可以将命令放在 YourView.xaml.cs 中,但这取决于您的 MVVM 设计(意味着如果您觉得该功能不属于 ViewModel)

于 2012-04-15T14:23:17.603 回答
1

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

于 2012-04-15T11:48:36.373 回答
0

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

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

此外,将按钮链接到交互的所有其他方式都是一种肮脏的黑客行为。

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

于 2012-04-15T15:01:01.650 回答