2011-12-04 9 views
0

(私たちは、私が説明しようとしてよ何のために、より正確な用語を見つけた場合TODOは、タイトルを修正してください)C#/ .NETのためのより宣言的なGUIアプローチがありますか?

私は.NETを学んだし、私はほとんどのGUI機能(特にWindowsフォームとWPFことに気づきました)は、GUIを視覚的に設計し、Borland Delphiに触発されたイベントハンドラを使用して実用化するというワークフローで設計されています。

(例えばJFaceのナドコマンドフレームワークのような)の前に、JavaとEclipseの技術で働いた、私は私のようにまとめることができ、別のアプローチに使用されるようになっている: :

  • などの論理オブジェクトを作成
    • コマンド(名前、アイコン、ヘルプ文字列などの動作とメタデータを指定)、
    • データモデル(アクセス方法の指定)。
  • のように、自動的に上記のGUI部品を作成するためのインフラストラクチャを使用するための:すべてのポップアップでこのコマンドのメニュー・オプションを作成する」
  • 、「このコマンドのボタンを作成する」
    • オブジェクトタイプXYZ​​」、
    • "" このデータソースのツリービューアを作成...

ロジックと表示を分離し、個別のコントロール用のイベントハンドラなど、あまりにも多くの定型文を書く必要がないので、私はこのアプローチを好んでいます。

お勧めできる.NET用の同様の機能はありますか?

+0

@downvoter、あなた自身を説明し、私の質問に間違っていることを教えてください。私はそれを修正し、今後より良い質問をすることができます! – Kos

答えて

3

チェックアウト可能ですWPFMVVM design patternです。

+0

私のベストショットのように見える:)、ありがとう! – Kos

1

はい。 Gue what - ドキュメントを読んでください。新しいバージョンの.NETの

Windows Vistaまたは7のMSは、XAMLベースのアプローチを使用するWPFベースのライブラリ(.nET 3.5)を追加しました。いくつかの拡張機能(これは完全に在庫切れの準備が整っています)を使用すると、XAMLの部分にプログラミングやハンドリング(メソッド)をフックすることなくUI全体を処理することができます。

+0

XAMLは、対応するC#コードから20個のpython行を離れていますか?私は同じことを書くのではなく、 '()'とそれ以上の '<>'を少なくしますか? – Kos

+0

WPF XAMLコードは基本的にオブジェクトのグラフの永続的なものです。オブジェクトもメソッドなどへのフックです。前記オブジェクトのプログラミングから設計(オブジェクトの状態)を分離するために最適化される。 – TomTom