我是WPF新手,我正在努力寻找合适的控件。
我正在编写一个包含两个部分的WPF应用程序。左侧是Outlook侧边栏(Odyssey控件)。
对于其他一切我想要一个控件,我可以根据侧栏中的内容轻松交换内容。
因此,用户在侧栏中选择一个选项,主要部分中的所有控件都将更改。
如果我在Windows窗体中写这个,我可以创建几个面板然后显示相关的面板(并隐藏其他面板)。当我在WPF中尝试此操作时,您可以看到下面面板的内容。我知道我可以让它们不可见,但我感觉我可能会以错误的方式解决这个问题。
所以这就是问题所在。处理要更改的应用程序的内容部分的最佳方式(在WPF中)是什么。
答案 0 :(得分:2)
根据您的示例(根据侧面板中选择的内容切换显示的内容)我建议重新安排TabControl,因为即使它看起来不像它也会切换。查看this以获得一个不错的示例,将TabStripPlacement设置为Left,您将有一个良好的开端。
根据您的数据设置方式,Master-Detail模式可能是另一个不错的选择。
如果您想以编程方式切换所有内容,则需要为UI“面板”使用ContentPresenter和DataTemplates。 Josh Smith的This article是关于MVVM的,但他的示例应用程序基本上就是你要寻找的模式。