1

学校のプロジェクトの一環として、グループと私はC#を使用してWindowsアプリケーションを開発します。C#の経験はあまりありませんが、基本的な知識はあります。ただし、他の言語やプラットフォームでの経験はあります。

レイアウトが2つの主要な部分に分割されたアプリケーションを構築したいと思います。左側にあるメニューと右側にあるコンテンツです。メニューは多かれ少なかれ静的であり、メニューのエントリが選択されると、内容が変更されます。

私たちはこれを達成するための最良の方法を見つけることができず、これについて良い資料を見つけることもできませんでした。アイデアは、1つのウィンドウを持ち、このウィンドウにビューを追加することです(私が理解できる限り、これはUserControlである必要がありますか?)。このコントロールがメニューになります。

さて、私たちの質問は、プログラムのナビゲーションを達成するために誰かが私たちを正しい方向に向けることができるかどうかです。たとえば、メニューエントリがクリックされたときに、ウィンドウのコンテンツをどのように変更し、どのビューがアクティブであるかをどのように管理するのでしょうか。(「コンテンツ領域」内の)すべてのビューにコントローラーがあると思います。WinFormsとMVCパターンを使用する場合のこの「ベストプラクティス」に関心があります。

誰かがこのプロジェクトで私たちをさらに助けてくれることを願っています。

4

2 に答える 2

1

私があなたなら、winformsの代わりにWPFを使用することを真剣に検討します。

それとMVVMパターンの使用により、winformsを使用している場合よりもはるかに少ないコードでかなり印象的なことを行うことができます。WinFormsをまだ知らない場合は、WPFの方がよく考えられたフレームワークであるため、学習曲線が少し緩やかになる可能性があります(少なくとも私の意見では)。

WPFルートを使用する場合は、バインディングがどのように機能するか、およびViewModelをUIにバインドする方法を理解するために時間を費やしてください。適切なUIの分離を十分に理解すると、古いWinFormsフレームワークを使用した場合よりもはるかに多くのことができるようになります。

このリンクは、最初にWPFを調べ始めたときに非常に役立ちました。特にRelayCommand。

于 2012-10-17T12:59:32.103 に答える
0

Winformsを使用している場合、取得できるオプションは次のとおりです。

-フォームを動的にクリアし、メニューナビゲーションでコンテンツを生成する

-mdiコンテナフォームを使用します。これは、多数の子フォームの親になることができます

WPFに使用している場合は、使用したメニュー選択に基づいてロードされたフレームコントロールのページを使用できます。MVVMパターンを使用してアプリを構築することもできます。

于 2012-10-16T11:06:07.457 に答える