【发布时间】:2011-12-16 12:50:43
【问题描述】:
我正在尝试使用搜索文本框(我按照本教程制作的:http://davidowens.wordpress.com/2009/02/18/wpf-search-text-box/)。
我使用 MVVM 和 WPF。当您在视图的代码隐藏文件中编写“搜索”事件时,上述用户控件有效,但我无法使用命令(使用 ViewModel)。
(当您大约 2 秒没有输入内容时,搜索事件会触发。)
我尝试过使用 Caliburn,因此它可以将视图事件“映射”到 viewmodel 方法。但是,当事件触发时,应用程序崩溃:“找不到方法 SearchText() 的目标。”在自定义用户控件的 RaiseSearchEvent 方法上。
查看以下测试应用程序:Test application
谁能告诉我我做错了什么?我告诉 CaliBurn 执行以下操作:
<i:Interaction.Triggers>
<i:EventTrigger EventName="Search">
<cal:ActionMessage MethodName="SearchText()" />
</i:EventTrigger>
</i:Interaction.Triggers>
所以我认为这是正确的。这意味着当“Search”事件触发时,caliburn 将在 ViewModel 中查找方法 SearchText。但这不会发生,它会导致我的应用崩溃和烧毁。
你知道为什么吗?或者我如何解决这个问题(不一定要使用 Caliburn)。 我已经尝试添加“扩展命令支持”(http://msdn.microsoft.com/en-us/library/dd458928.aspx),但这对我来说有点太复杂了:/
感谢您的帮助!!
【问题讨论】:
标签: c# wpf mvvm command caliburn.micro