我有一個應用程序,我有一個程序集。WPF/XAML - 綁定控制命令到父窗口的viewmodel?
在應用中,我有一個窗口,並在該組件我有一個用戶控制。
有一個在窗口中的用戶控件的實例。
兩個用戶控制和窗口是由單獨的ViewModels支持。
在用戶控件中,有一個按鈕。該按鈕應根據用戶控件的視圖模型的狀態啓用/禁用。單擊按鈕時,需要根據用戶控件的視圖模型中的信息完成處理,但需要通過窗口的視圖模型完成。 (有些方面需要做,而且應該超出用戶控制範圍。)
而這裏是扭曲的 - 這個用戶控件不會在這個窗口中專門使用,它可能會在另一箇中使用,或者在第三個控件中使用。用戶控件不能被允許知道什麼樣的窗口或控件包含它,或者當它的按鈕被點擊時處理該過程。
那麼,該怎麼辦?
在組件定義一個命令,並且用戶控制的按鈕綁定到它,傳遞用戶控件的視圖模型作爲命令參數?那麼,我該如何將命令綁定到窗口的viewmodel?
或者我應該在用戶控件的視圖模型中定義命令,然後引發一個事件告訴父窗口需要採取適當的操作?
我不清楚哪個更清潔。