2010-10-14 110 views
0

我有一个区域的Shell类。例如,我创建了一个显示办公室列表的模块。当我选择其中一个办公室时,我想向另一个模块展示我想要传输有关所选办公室的信息。 问题:prism wpf:如何在一个区域显示视图/模块

  • 什么是更好的:创建另一个模块或可能创建另一个视图在现有?
  • (如果我还想创建第二个模块),我该如何更改区域中的视图?注意,我只有一个区域,所以我需要隐藏第一个模块的视图或卸载它。
  • 如果我想再添加一个区域到shell,该怎么办?例如。每个模块必须包含2个视图并更改所有模块。

谢谢。

回答

1

我会尝试单独回答问题。

  1. 如果您要显示的信息与列表视图(例如特定办公室的详细信息)相关,则常见方法是在同一模块中创建另一个视图。这是因为这两种观点都与办公室有关,并分享了相关的关注点,因此为他们设立单独的模块会带来更多的痛苦而不是获益。
  2. 无论您是否决定创建第二个模块,如果您只想在Shell中只有一个区域,并且一次只显示一个视图,则必须将RegionControl的主机用作ContentControl,它充当SingleActiveRegion
  3. 如果要向Shell中添加更多区域,只需添加更多控件并使用区域的RegionManager依赖项属性标记它们即可。许多Prism quickstarts展示了这一点。要在模块之间进行通信,请使用EventAggregator

我希望这会有所帮助。

+0

嗯..好吧,我会试试看。看起来这是我需要的 – 2010-10-14 18:07:13

+1

那么如何将它标记为答案呢?通常当用户提供有用的答案时,通常的做法是将其投票/标记为答案。阅读这里的常见问题:http://stackoverflow.com/faq。 – 2010-10-14 18:40:48

+0

这真的很有帮助!谢谢! – 2010-10-22 11:17:10

相关问题