Я устанавливаю совершенно новое приложение WPF, где я использую MVVM.Я использую Prism 7.1.latest в качестве Nuget в моем проекте.После того, как я прошел свой логин, я буду перенаправлен на мой MenuPage, где пользователь может выбрать один из двух вариантов.Откройте страницу настроек или страницу загрузки.Меню является статическим, в то время как я хотел бы только обновить ContentView.
MenuPageViewModel.cs
public MenuPage2ViewModel(IContainerExtension container, IRegionManager regionManager)
{
_container = container;
_regionManager = regionManager;
_regionManager.Regions.Add("ContentRegion", new Region());
this.CloseApplicationCommand = new DelegateCommand<Window>(this.CloseWindow);
this.MinimizeApplicationCommand = new DelegateCommand<Window>(this.MinimizeWindow);
}
private DelegateCommand _loadSettingsPageCommand;
public DelegateCommand LoadSettingsPageCommand => _loadSettingsPageCommand ?? (_loadSettingsPageCommand = new DelegateCommand(LoadSettingsPage, CanLoadSettingsPage));
private void LoadSettingsPage()
{
IRegion region = _regionManager.Regions["ContentRegion"];
var view = region.GetView(nameof(SettingsPage));
if (view == null)
{
var t = _container.Resolve<SettingsPage>();
region.Add(t, nameof(SettingsPage));
view = region.GetView(nameof(SettingsPage));
}
region.Activate(view);
}
private bool CanLoadSettingsPage()
{
return true;
}
MenuPage2.xaml место, где мой ContentControl должен быть загружен в
<Grid Column="2" Row="1">
<ContentControl regions:RegionManager.RegionName="ContentRegion" />
</Grid>
SettingsPage.xaml мой синий фоновый вид
<UserControl x:Class="TachiFox3Reader.Win.Views.SettingsPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mvvm="http://prismlibrary.com/"
mvvm:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid Background="Blue">
</Grid>
</UserControl>
Поэтому, когда я нажимаю кнопку, чтобы активировать вид настроек, ничего не происходит.но теперь в моей сетке должен быть хотя бы синий фон, где я определил контентконтейнер.
когда я отлаживаю в VS, тогда я могу видеть, что представление содержит мою страницу настроек, она активирована, но мой графический интерфейс ничего не показывает.