我有一个应用程序,我有一个程序集。WPF/XAML - 绑定控制命令到父窗口的viewmodel?
在应用中,我有一个窗口,并在该组件我有一个用户控制。
有一个在窗口中的用户控件的实例。
两个用户控制和窗口是由单独的ViewModels支持。
在用户控件中,有一个按钮。该按钮应根据用户控件的视图模型的状态启用/禁用。单击按钮时,需要根据用户控件的视图模型中的信息完成处理,但需要通过窗口的视图模型完成。 (有些方面需要做,而且应该超出用户控制范围。)
而这里是扭曲的 - 这个用户控件不会在这个窗口中专门使用,它可能会在另一个中使用,或者在第三个控件中使用。用户控件不能被允许知道什么样的窗口或控件包含它,或者当它的按钮被点击时处理该过程。
那么,该怎么办?
在组件定义一个命令,并且用户控制的按钮绑定到它,传递用户控件的视图模型作为命令参数?那么,我该如何将命令绑定到窗口的viewmodel?
或者我应该在用户控件的视图模型中定义命令,然后引发一个事件告诉父窗口需要采取适当的操作?
我不清楚哪个更清洁。