Im将应用程序从Windows窗体迁移到WPF,所以我尝试使用MVVM模式,但它对我来说有点棘手。如何在这种情况下正确应用MVVM?
在Windows窗体我有一个包含已定义了一些新的方法,让我来执行步骤的进度形式,将其值设置等,这代码放置在进度条的代码背后如下:
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我已经创建了我的新进度控制及其容器的形式,即使我一直在阅读有关MVVM的知识,但我不知道我必须在哪里放置Method0X的代码,因为根据我读过的内容,我必须将该代码放入vi ewModel,但是,这里还有一个问题:我怎么能从我的视图模型访问我的进度条,因为它在另一个表单中?
希望有人能帮助我。提前致谢。
什么是Method01,2,3应该做什么? –
我认为这篇文章对你有好处:http://stackoverflow.com/questions/1619505/wpf-openfiledialog-with-the-mvvm-pattern – dugas
@DaveHillier,因为我有一个listView,Method0X允许我插入直接行,将内容复制到剪贴板,在progressBar中执行一个步骤等 – Dante