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