有人可以告訴我爲什麼我不能再次更改頁面嗎?導航mvvm燈
例如,當我單擊登錄時,應用程序可以更改頁面,即顯示主面板,但是如果用戶單擊另一個按鈕打開另一個面板,則不會發生任何事情。
主窗口
<Window x:Class="Smart.Interface.View.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:view="clr-namespace:Smart.Interface.View"
xmlns:ViewModel="clr-namespace:Smart.Interface.ViewModel"
Title="MainWindow" Height="768" Width="1024"
DataContext="{Binding Login,
Source={StaticResource Locator}}"
ResizeMode="NoResize">
<Grid Background="#FFE6E7E8">
<Rectangle Panel.ZIndex="0" Name="RetanguloTop" Fill="Black" HorizontalAlignment="Left" Height="35" Stroke="Black" VerticalAlignment="Top" Width="1024"/>
<Rectangle Name="RetanguloFooter" Fill="Black" HorizontalAlignment="Left" Height="35" Margin="0,703,0,0" Stroke="Black" VerticalAlignment="Top" Width="1024"/>
<ContentControl Content="{Binding CurrentViewModel}" />
</Grid>
</Window>
第一個動作完美的作品 - >CurrentViewModel = new PainelDeOpcoesViewModel();
但在視圖PainelDeOpcoesView
我不再能夠訪問任何其他視圖,utlizando同樣的想法。
CurrentViewModel = new GerenciarUsuariosViewModel();
< - 它不工作
private ViewModelBase _currentViewModel;
public ViewModelBase CurrentViewModel
{
get
{
return _currentViewModel;
}
set
{
if (_currentViewModel == value)
return;
_currentViewModel = value;
RaisePropertyChanged("CurrentViewModel");
}
}
我的App.xaml
<vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" />
<DataTemplate DataType="{x:Type vm:LoginViewModel}">
<views:LoginView />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:PainelDeOpcoesViewModel}">
<views:PainelDeOpcoesView />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:GerenciarUsuariosViewModel}">
<views:GerenciarUsuariosView />
</DataTemplate>
補充一點: CONTENT =「{結合CurrentViewModel,模式=雙向,UpdateSourceTrigger =的PropertyChanged, NotifyOnSourceUpdated = True}「... –
感謝您的幫助,但它沒有奏效! –