我正在设计一个(有点)简单的测验应用程序,用于学校项目以适应MVVM.
它有两个视图 - 一个用于实际测验部分,一个用于结果等.
要在这些视图之间导航,我使用的是当前为空的BaseVeiwModel类(仅继承自INotifyPropertyChanged的ObservableObject类实现).
这是我的两个视图模型的基类,其中我将其实例设置为当前视图,允许我在我的第一个视图模型中使用方法在它们之间切换.
我想问一下,如果有一个基本的viewmodel类是空的,这是不好的做法,如果它是我该怎么办?我确实考虑过只使用一个ObservableObject实例,因为它们都从OBservableObject继承 - 但我认为它看起来不那么清晰和杂乱 - 因为我的模型也继承了ObservableObject.
编辑:
所以,我的BaseViewModel目前在我的第一个VeiwModel中实例化
private BaseVeiwModel _currentVeiw;
public BaseVeiwModel CurrentVeiw
{
get { return _currentVeiw; }
set { OnPropertyChanged(ref _currentVeiw, value); }
}
//in the constructor:
CurrentVeiw = this;
Run Code Online (Sandbox Code Playgroud)
然后我有一个方法(当前按钮用作命令,但将在QuestionViewModel类中调用)将视图更改为我的第二个:
private void ChangeView(object blank)
{
CurrentVeiw = new FinishedVeiwModel();
Console.WriteLine("Button Clicked!");
Console.WriteLine(CurrentVeiw);
}
Run Code Online (Sandbox Code Playgroud)
我的基类很简单:
public class BaseVeiwModel :ObservableObject
{
//Completely empty
}
Run Code Online (Sandbox Code Playgroud)