独立WPF应用程序的导航菜单

时间:2010-08-03 18:23:17

标签: c# wpf

我刚刚开始使用wpf(在混合4中),我想创建一个具有用于更改内容的侧边菜单的应用程序。我正在寻找的是文件菜单下的单词2010。如果单击左侧的菜单,则右侧的内容会相应更改。我已经阅读了有关将page.xaml嵌套到框架中并将框架导航源更改为每个页面的文章。这是正确的吗?当我这样做时,导航栏出现在顶部。我可以摆脱那么容易,但似乎我在想要实现的目标上采取了错误的道路。

提前致谢。

2 个答案:

答案 0 :(得分:2)

就这一点而言,基于TabControlFrame的解决方案都有点像频谱的极端。选项卡控件在选项卡状态和显示的UI之间实现非常紧密的耦合(例如,您可能会发现很难更改为没有显式选项卡项的对话框),而框架可以实现相对松散的耦合,但可能是这种情况有些过分,因为它旨在支持具有历史/页面堆栈的完整线性导航。 (例如,Prism通过其“区域”概念提供了类似的机制。)

中间地带可能是拥有一个带有占位符元素的主“窗口框架”UI,并让您的个人“页面”派生自UserControl,使其成为常规的UI元素。要切换到UI中的特定页面,您将实例化(通过代码或XAML资源)相应的用户控件,并将其设置为前述占位符元素的Content属性。 (这与您在VB中提到的隐藏/显示子表单的机制基本相同。)

因此,有一系列选项可供选择,具体取决于您的方案的实际限制。

答案 1 :(得分:0)

最简单的代码是使用TabControl创建TabStripPlacement="Left"。例如:

        <TabControl TabStripPlacement="Left">
            <TabItem Header="Tab1" />
            <TabItem Header="Tab2" />
            <TabItem Header="Tab3" />
        </TabControl>

您可以应用Styles进一步更改UI,颜色和外观&amp;感觉。