我对Scope有一个初学者的问题 . 在MainWindow类中,我创建了一个用于数据绑定的ModelView类的实例,以及一个具有我想要显示的Leaves属性的Cabbage类的实例 . 我的问题是如何从updateCabbageLeaves方法中引用myCabbage.Leaves?
namespace TestScope
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
ModelView myModelView = new ModelView();
Cabbage myCabbage = new Cabbage();
myCabbage.Leaves = 99;
myModelView.updateCabbageLeaves();
}
}
class ModelView
{
public int CabbageLeaves { get; set; }
public void updateCabbageLeaves()
{
//CabbageLeaves = myCabbage.Leaves;
}
}
class Cabbage
{
public int Leaves { get; set; }
}
}
我想这不是设置MVVM的方法 . 我的理由是:对于MVVM,我需要一个模型类和一个模型视图类 . 应用程序在MainWindow类中启动,因此我在那里创建了模型实例和模型视图类 .
我是C#的新手 . 谢谢你的帮助 .
詹姆士
2 回答
你对这种关系的看法并不完全正确 . 你真正想要做的是在视图模型中创建一个Cabbage模型的实例,传入它,并在那里映射和操作它 .
注意:您的课程也应该是公开的 . 你必须指定这个 .
但是说实话,我根本不关心在主方法中操作甘蓝 . 您可以在构造函数中传入所需的叶子数量,并允许视图模型自行处理 .
主要......
并在您的视图模型中
这是一个更清洁,并不强制在主方法中操纵甘蓝
你可以把卷心菜对象作为争论: