来自UserControl的事件作为WPF ListBox中的ItemTemplate

时间:2009-12-04 01:00:28

标签: wpf listbox events user-controls itemtemplate

在WPF中,我有一个带有UserControl的ListBox作为其ItemTemplate - 所有数据都显示正常。我现在在该用户控件中添加了一个输入文本框。在MVVM设计中,当用户在项目模板的列表框中编辑用户控件中文本框的内容时,我想在主窗口中执行一些操作(重新计算值)。问题是 - 如何将该事件传播到模型?用户控件绑定到一个业务对象,我可以看到正在更改的值(在BO中实现INotifyPropertyChanged),但是,如何将该事件更新到模型(而不是代码隐藏)? 任何例子或指针都是最受欢迎的!

JAS

1 个答案:

答案 0 :(得分:0)

我假设,鉴于这是一个MVVM应用程序,您试图将文本更改事件传播到ViewModel。

您可以在不使用Attached Property或行为在视图中添加代码的情况下执行此操作。在表达式库中实际存在一个行为,当您点击Enter in a TextBox时会调用命令。每当TextBox更改其值(它在目标上非常相似)时,可以轻松地重新设置这个以在ViewModel上触发自定义ICommand。