小编Dan*_*kes的帖子

在MVVM中为Viewmodels创建一个空基类是不好的做法吗?

我正在设计一个(有点)简单的测验应用程序,用于学校项目以适应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)

c# oop wpf mvvm

-1
推荐指数
1
解决办法
256
查看次数

标签 统计

c# ×1

mvvm ×1

oop ×1

wpf ×1