本文介绍了将所选项目作为参数发送到视图模型 [WPF,Caliburn] 中的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个问题.我在 WPF 中使用 caliburn micro.在视图中,我有列表框,并且在视图模型中绑定了事件 MouseDoubleClick 方法.我想发送作为参数选择的列表框项目.但是不知道怎么弄.
I have this problem. I use caliburn micro in WPF. In view I have listbox, and I bind on event MouseDoubleClick method in view-model. I would like send as parameter selected listbox item. But I don’t know how do it.
鉴于我有这个:
<ListBox Name="Friends"
SelectedItem="Key"
Style="{DynamicResource friendsListStyle}"
Grid.Row="2"
Margin="4,4,4,4"
Micro:Message.Attach="[MouseDoubleClick]=[Action SendRp(Key)]"
PreviewMouseRightButtonUp="ListBox_PreviewMouseRightButtonUp"
PreviewMouseRightButtonDown="ListBox_PreviewMouseRightButtonDown"
MouseRightButtonDown="FriendsListBoxMouseRightButtonDown"/>
在视图模型中我有这个方法:
In view model I have this method:
public void SendRp(string key)
{
MessageBox.Show(key);
}
任何提前,谢谢.
推荐答案
我对caliburn了解不多,但我猜你必须写
I dont know much about caliburn but my guess is you have to write
Micro:Message.Attach="[MouseDoubleClick]=[Action SendRp(Friends.SelectedItem)]"
您也应该省略 SelectedItem="Key"
或使用与 ViewModel 的绑定,如下所示:
also you should either omit the SelectedItem="Key"
or use a binding to your ViewModel like this:
SelectedItem="{Binding Key}"
这篇关于将所选项目作为参数发送到视图模型 [WPF,Caliburn] 中的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!