我有傳統的Windows窗體用戶控件暴露幾個公共方法。我將這個控件包裝在一個wpf用戶控件上,並在新的wpf用戶控件上用一個繼電器命令封裝了這些方法。現在如何從viewmodel訪問usercontrol命令
我的問題是如何使用MVVM模式在我的用戶控件執行命令形成用於與託管新的WPF用戶控件視圖中的視圖模型。
我有傳統的Windows窗體用戶控件暴露幾個公共方法。我將這個控件包裝在一個wpf用戶控件上,並在新的wpf用戶控件上用一個繼電器命令封裝了這些方法。現在如何從viewmodel訪問usercontrol命令
我的問題是如何使用MVVM模式在我的用戶控件執行命令形成用於與託管新的WPF用戶控件視圖中的視圖模型。
在視圖模型,你必須添加一個字段說
Public ICommand CommandOne
現在,這個命令將創建根據您的要求/條件新RelayCommand對象。現在
,你可以綁定這個「CommandOne」與任何對象的命令說,你的控制窗體上按鈕。
所以,只要點擊該按鈕,然後在RelayCommand對象將被創建,它會執行給它作爲一個參數的操作。
希望它適合你。
我明白如何讓這個與綁定一起工作。需要將模式設置爲OneWayToSource以從用戶控件獲取命令。棘手的部分是命令的初始化必須在usercontrol的加載事件內完成。如果您嘗試在構造函數內部執行此操作,則最終將從綁定中進行默認初始化,該初始化可能爲null。
使用PRISM EventAggregator?您可以從您的Usercontrol訂閱中從ViewModel中釋放事件。
http://www.codeproject.com/Articles/355473/Prism-EventAggregator-Sample https://msdn.microsoft.com/en-us/library/ff921122.aspx
我需要做的是用戶controlcommand鏈接到視圖模型的命令,因此它可以progamically視圖模型內部調用 – SteveP 2009-10-29 12:17:12