アプリケーションを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"));
}
}
私のViewModel:
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について読んでいても、新しいprogressBarコントロールとそのコンテナーフォームを既に作成していますが、Method0Xのコードをどこに配置する必要があるのか理解できません。これは、読んだ内容によると、そのコードをviewModelに配置しますが、別の問題があります。別のフォーム内にあるため、ビューモデルからプログレスバーにアクセスするにはどうすればよいですか?
誰かが私を助けてくれることを願っています。前もって感謝します。