プレゼンテーションモデルのパターンをどのように実装するのが最も良いか知りたいですか? MVVMについて読んだことがありますが、SilverlightやWPFを使用していないため、私には当てはまりません。どのようにWinformsでプレゼンテーションモデルを使用しますか?
3
A
答えて
0
Update Controlsは、Windowsフォームのプレゼンテーションモデルパターンを実装します。独立したフィールドを使用してモデルクラスを作成します。
public class Person
{
private Independent<string> _first = new Independent<string>();
private Independent<string> _last = new Independent<string>();
public string First
{
get { return _first; }
set { _first.Value = value; }
}
public string Last
{
get { return _last; }
set { _last.Value = value; }
}
}
次に、通常のプロパティを持つプレゼンテーションモデルを作成します。
public class PersonPresentationModel
{
private Person _person;
public PersonPresentationModel(Person person)
{
_person = person;
}
public Person Person
{
get { return _person; }
}
public string FullName
{
get { return _person.Last + ", " + _person.First; }
}
}
Windowsフォームコントロールのイベントを処理して、プレゼンテーションモデルからデータを取得します。
private string FirstName_GetText()
{
return _presentationModel.Person.First;
}
private void FirstName_SetText(string value)
{
_presentationModel.Person.First = value;
}
private string LastName_GetText()
{
return _presentationModel.Person.Last;
}
private void LastName_SetText(string value)
{
_presentationModel.Person.Last = value;
}
private string FullName_GetText()
{
return _presentationModel.FullName;
}
更新コントロールはモデルの変更時に依存関係を追跡し、Windowsフォームコントロールを更新します。それは、それが依存しているものを見るためにプレゼンテーションモデルを仲間にさえします。
0
あなたはMVP(モデルビュープレゼンター)によってinterrested、およびそれに依存している豊富なアプリケーションフレームワーク、等であってもよいCAB(コンポジットUIアプリケーションブロックは、MSパターン&実践チームから)MVPを使用して
、あなたが持つことができますプレゼンテーションモデルと活用winformデータバインディング。
Jeremy D. Miller blogは、このデザインと他のすべてのUIパターンに関する優れた情報源です。
関連する問題
- 1. どのようにして共通オブジェクトバインディングをwinformsで使用しますか?
- 2. プレゼンテーションモデルを使用してFlexに要素を追加する
- 3. どのようにwinformsのarraylistをループするのですか?
- 4. C#WinFormsを使用してMVPのビュー間をどのように移動しますか?
- 5. winformsを使用してC#のマウスクリックでボールをペイントするにはどうすればよいですか?
- 6. 私はどのように私のwinformsアプリケーションをtelnetで起動しますか?
- 7. .net 2.0を使用したWinformsビデオの再生にはどのようなオプションがありますか。
- 8. WinForms MouseWheelイベントはどのようにF#で動作しますか?
- 9. クリックスクロール量はどのようにしてwinformsスクロールバーで計算されますか?
- 10. ASP.NET MVCでプレゼンテーションモデルを使用する場合
- 11. ページオブジェクトモデルデザインでどのようにSelenium ExpectedConditionsを使用しますか?
- 12. どのようにListView Djangoでフォームを使用しますか?
- 13. Spring-WSでWebServiceMessageDrivenBeanをどのように使用しますか?
- 14. どのようにOS XでSchemeを使用しますか?
- 15. webglでどのようにストライドを使用しますか?
- 16. MSBuildをSVNでどのように使用しますか?
- 17. XCodeでどのようにグループを使用しますか?
- 18. vuejsでopenlayers3をどのように使用しますか?
- 19. PropertyGridでNodaTimeクラスをどのように使用しますか?
- 20. Node.jsでi18nをどのように使用しますか?
- 21. バッチファイルでSETLOCALをどのように使用しますか?
- 22. どのようにContextFlyoutをListViewで使用しますか?
- 23. キュウリをゼウスでどのように使用しますか?
- 24. どのようにしてアンプキャッシュを使用できますか?
- 25. vue CLIでwebpackをどのように使用しますか?
- 26. どのようにNext.jsでnode.jsモジュールを使用しますか?
- 27. openpyxlでsrgbClrをどのように使用しますか?ColorChoices
- 28. nightwatch.jsでwindowPositionをどのように使用しますか?
- 29. panda3dでsetRamImageをどのように使用しますか?
- 30. Pythonではどのようにline.rstrip()を使用しますか?