2009-04-08 18 views
1

私はMSリボンコントロールを使用するアプリケーションを作成しています。リボンにはいくつかのタブがあります。最初のタブには「View」と表示され、次のタブには「Configure」というラベルが付けられます。WPF - xamlファイルを入れ替えて別の画面デザインを作成する

私は、私たちのシステムのビューを、Window1.xamlファイルにレイアウトして示します。私が設定タブを押すと、私は遠く離れて、別のxaml、好ましくはWindow1.xamlにあるものとは異なるxamlで置き換えられるようにしたいと思います。リボンコントロールは離れませんが、異なる画面のナビゲータとして機能します。現在、「構成」タブを押すと、「表示」画面(リボンを除く)のすべてのコントロールを含むグリッドが折りたたまれ、「構成」画面のコントロールを含むグリッドが表示されます。

私はもちろん、それがビュー画面と一緒にデザイナーに表示され、私は現在、何をすべきかですWindow1.xamlファイルに設定画面のためのXAMLを追加します。他のタブに表示される画面のxamlを追加すると、これは実際的ではありません。

私はこれを行うには良い方法が不思議です。私はそれぞれの "タブ"画面用のxamlファイルを作成し、タブが押されたときにそれらを起動するようにしたいと思います。

私はまだページのナビゲーションについてよく分かりませんが(私はWPFでわずか数ヶ月しかありません)、しかし、それは行く方法かもしれないと考えています。このシナリオではリボンがうまく演奏されているかどうかはわかりません。

いずれの方向にも感謝します。 ありがとうございます。

答えて

2

これは完全に地域にビューを追加することにより、CompositeWPF's RegionManagerを使用することによって達成し、別のビューを表示する必要がありますときにそれらを無効にすることができます。少なくともそれは私が非常に似たようなシナリオで行ったことであり、うまくいった。 あなたが「各自が独自のアプリケーションであるかのように」振る舞いたいと述べたので、modularityはcompositewpfで無料で提供されます。

0

[表示]タブと[構成]タブの内容を自分のUserControlsに作成する必要があります。それでも、あなたはプログラム内でそれらを入れ替えることができますが、あなたのデザイナーでそれぞれを別々に編集できるという利点があります。あなたはExpression Blendのを使用している場合

あなたは右のインタラクションペインにすべての子コンテナコントロールをクリックすると、「コントロールの作成」するオプションが与えられます。 「設定」タブと「表示」タブでこれを行うと、ほとんどの作業が自動的に実行されます。

0

これは通常、アプリケーション、hereアプリのほんの一部をスキニングについての一品である「スキニング」と呼ばれています。あなたがGoogle SkinningとWPFの場合、これを行うための良い方法で多くのサンプルコードが得られます。

0

フレーム要素を使用します。あなたが設定ボタンを押したとき、あなたはコンテンツとして、フレーム要素を持つ新しいのTabItemを作成し、イベントを設定することができます

<Frame Source="Configure.xaml"/> 

この方法は:それはあなたがこのようなソースのプロパティを使用して他のページからXAMLを読み込むことができます表示したいXAMLを読み込みます。

関連する問題