我有一个使用Master-Detail UI模式的简单WPF程序,其中Detail在Master Pane 中显示了集合的当前选定项。我使用的是MVVM,每个XAML页面都由一个ViewModel对象(它设置为DataContext)来支持。
现在,我想在“主” Pane 中添加一个“删除”按钮以从主项目列表中删除。但是,我不知道如何将当前所选项目的viewmodel对象作为CommandParameter按钮传递给路由的命令处理程序代码。
在此先感谢您提供任何指导。
麦克风
最佳答案
与Paul所显示的类似,您的 View 模型将在其中知道当前选择了哪个项目。 IE。
public class MyVM
{
public ObservableCollection<MyObject> MyCollection { get; set; }
public MyObject CurrentItem { get; set; }
}
然后,您的XAML可以很简单
CommandParameter="{Binding Path=CurrentItem}"
只要您的主 Pane 在选择它时设置CurrentItem属性,您的命令就可以简单地将CurrentItem设置为命令参数。
关于wpf - 如何在按钮的CommandParam中传递特定的viewmodel对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/528253/