1

そのため、2 つの部分に分割されたアプリケーションがあります。左側にはカスタム メニューがあり、右側にはすべての「コンテンツ」(異なる画面) を保持するグリッドがあります。

次のようになります。

ここに画像の説明を入力

また、別のボタンを押すと、左側のメニューが別のボタンでいっぱいになります (たとえば、レビュー ボタンを押すと、メニューは線に沿ったものになります):

Start Date
End Date

Employee
Project
...

各画面 (右側に移動) を独自のユーザー コントロールにしたいと確信しています。

しかし、私の質問は次のとおりです。各メニューをユーザー コントロールにする必要がありますか? これにより、それらを使用するのが少し難しくなります。次に、メインウィンドウがメニューのボタンなどをリッスンできるように、ゲッター/セッターを用意することについて心配する必要があります。

もう 1 つのオプションは、プログラムで mainWindow にボタンを追加することです。このようにして、リスナーを mainWindow.cs に直接 (グリッドに) 追加することができます。

より良い方法はどれですか?または、好まれる別の方法はありますか?

4

3 に答える 3

1

ウィンドウ全体を として簡単に行うことができますGrid

左側には、ボタンを使用して、StackPanelまたはその他のレイアウト コントロールを保持できます。

a を使用しContentPresenterて、右側のコンテンツを保持できます。ボタンをトリガーするときに、バインドされたコンテンツを変更するだけで、適切なユーザー コントロールで更新されます。

于 2012-06-28T19:35:04.273 に答える
0

誤解しているかもしれませんが、TabControl, を . と一緒に使いTabStripPlacement="Left"ます。

他のものを表示するために左側に余分なスペースが必要な場合は、デフォルトの TabControl をオーバーライドしControlTemplateTabPanelControlTemplate. または、TabItemが選択されている場合と選択されていない場合で、 のヘッダーの表示を変えることもできます。

于 2012-07-10T15:09:08.093 に答える
0

リードが言ったように、グリッドでそれを行うかもしれないと思います。ただし、これを別の場所で再利用する必要がある場合は、代わりに別の UserControl を使用する必要があると思います。

于 2012-06-28T19:49:28.790 に答える