2010-09-08 72 views
2

好吧,我承认,我需要的不是一个tabpanel,(或是否?)。但是我真正想要的是一个有许多孩子的面板,我可以选择其中一个在任何给定时间可见的面板。没有选项卡的WPF TabPanel?

基本上我有几个意见,并根据应用程序的状态,当前视图需要更改。

这基本上类似于复合应用程序层的区域,但不是基于插件的。

我已经试过

  1. 制作一个可见,另一个不是基于某个值
  2. DataTriggers

有过运气越来越差从任何可靠的结果,他们是很难发现的。

任何人都知道接近这个好方法吗?

+0

当你说你越来越不可靠的结果,他们是很难发现的,究竟你是什么意思?特别是“难以发现”的部分。 – 2010-09-08 00:26:22

+0

我对TabPanel做了什么你想做什么 – 2010-09-08 00:41:51

回答

1

如何使用屏幕导体?

Read more about the screen conductor here!

+0

我很喜欢这个想法,我唯一的疑虑就是这些视图似乎并没有在xaml中定义。我想我总是可以扩展这个想法:) – Aren 2010-09-08 16:02:14

+0

每个视图实际上是一个用户控件,并在XAML中完全定义...切换出入发生在代码中! – rudigrobler 2010-09-09 05:30:17

+0

我会奖励你接受的解决方案。这并不是我解决的问题,但我最终将我的解决方案从屏幕指挥员带来的概念中解放出来。 – Aren 2010-09-14 16:17:03

-1

关袖带,一种方法将是:

  1. 放置在名为容器中的每个“视图”,诸如网格。将其初始状态设置为“折叠”
  2. 维护所有命名容器的数组。
  3. 切换视图时,将每个容器的可见状态设置为“折叠”(请勿使用“隐藏”)。然后将可见状态设置为要显示的容器的“可见”。
1

您可以使用ContentPresenter来表示视图,然后将其内容绑定到所选视图属性。

无可否认,它不是一个面板,但是如果使用类似于listbox的东西作为您的视图集合,然后通过绑定显示其选定的项目。您可以将其用于内容演示者内容。

+1

有趣的方法可能会让xaml的新读者感到困惑,因为列表框更多的是可视化树而不是视觉元素。本质上,这将利用列表框中ItemsControl的功能和选择。有趣的没有更少的... – Aren 2010-09-08 16:01:02

相关问题