1

所以我有一个分为两部分的应用程序 - 左侧有一个自定义菜单,右侧有一个包含所有“内容”(不同屏幕)的网格。

它看起来像这样:

在此处输入图像描述

此外,当点击不同的按钮时,左侧的菜单将填满不同的按钮(例如,如果您点击查看按钮,菜单将变成类似的东西):

Start Date
End Date

Employee
Project
...

我很确定我希望每个屏幕(在右侧)成为他们自己的用户控件。

但我的问题是:每个菜单都应该是用户控件吗?这使得使用它们有点困难。然后我不得不担心有 getter/setter 以便主窗口可以监听菜单按钮等。

另一种选择是以编程方式在 mainWindow 中添加按钮,这样我就可以在 mainWindow.cs 中添加侦听器(到网格中)

哪种方法更好?还是有另一种受欢迎的方法?

4

3 回答 3

1

整个窗口可以轻松完成Grid

左侧可以StackPanel使用您的按钮仅保留一个或其他布局控件。

您可以使用 aContentPresenter来保存右侧的内容。当您触发按钮时,只需更改绑定的内容,它将使用您相应的用户控件进行更新。

于 2012-06-28T19:35:04.273 回答
0

我想你可以像里德所说的那样用网格来做。但是,如果您需要在其他地方重用它,我认为您应该改用单独的 UserControl。

于 2012-06-28T19:49:28.790 回答
0

也许我误解了你,但我会使用TabControl, with TabStripPlacement="Left"

如果你需要在左边有额外的空间来显示其他东西,你可以覆盖默认的 TabControlControlTemplateTabPanelControlTemplate. 或者,您可以让TabItem' 的标题在选中时与未选中时显示不同。

于 2012-07-10T15:09:08.093 回答