我正在将应用程序从 Windows 窗体迁移到 WPF,所以我尝试使用 MVVM 模式,但这对我来说有点棘手。
在 Windows 窗体中,我有一个包含 progressBar 的窗体,该窗体定义了一些新方法,允许我执行步骤、设置其值等。此代码位于 progressBar 后面的代码中,如下所示:
public class MyProgressBar : ProgressBar
{
public MyProgressBar ()
{
InitializeComponent();
}
public void Method01()
{...}
public void Method02()
{...}
public void Method03()
{...}
}
Method01、Method02 和 Method03 的代码用于容器形式,所以,这是我的问题:在 WPF 中,由于我使用 MVVM 模式,我必须将代码放在哪里?
到目前为止,我有这个课程:
我的模型:
public class MyFormModel : DataTable
{
public OutputResultsDataTable()
: base()
{
Columns.Add(new DataColumn("Number"));
Columns.Add(new DataColumn("Message"));
Columns.Add(new DataColumn("Detail"));
}
}
我的视图模型:
public class MyNewWPFForm
{
/// <summary>
///
/// </summary>
public MyFormModel MyData{ get; set; }
/// <summary>
/// Constructor
/// </summary>
public MyNewWPFForm()
{
if (System.Windows.Application.Current.MainWindow != null)
{
MyData= new MyFormModel ();
}
}
}
在 WPF 中,我已经创建了新的 progressBar 控件及其容器表单,即使我一直在阅读有关 MVVM 的信息,但我不明白我必须将 Method0X 的代码放在哪里,因为根据我所阅读的内容,我会有将该代码放在 viewModel 中,但是,这是另一个问题:我如何从我的视图模型中访问我的进度条,因为它在另一个表单中?
希望可以有人帮帮我。提前致谢。