0
我正在使用WPF,Prism和MVVM創建一個小應用程序。有一個控制(加載程序),我希望每次執行一個命令時都要重用,並且我希望將該用戶控件放置在某個區域的頂部,並且具有一定的透明度。 即,當前模塊調用該命令的區域。用WPF Prism和MVVM以編程方式添加用戶控件
如何將此用戶控件添加到ViewModel的某個區域頂部(這是正確的位置?)?
我正在使用WPF,Prism和MVVM創建一個小應用程序。有一個控制(加載程序),我希望每次執行一個命令時都要重用,並且我希望將該用戶控件放置在某個區域的頂部,並且具有一定的透明度。 即,當前模塊調用該命令的區域。用WPF Prism和MVVM以編程方式添加用戶控件
如何將此用戶控件添加到ViewModel的某個區域頂部(這是正確的位置?)?
對於棱鏡來說,最好的方法是使用regions。
只需在您的視圖中創建區域,爲其指定一個唯一的名稱。
<ContentControl rgn:RegionManager.RegionName="TopRegion" />
然後,在視圖模型使用RegionManager添加用戶控件。
IRegion myRegion = regionManager.Regions["TopRegion"];
myRegion.Add(userControl1);
我還要指出的是,因爲這是在MVVM,你應該想使用某種類型的IoC如MEF或統一添加用戶控件。