在這裡我們統一prism裡面一些名字的稱謂.
1.Shell 主程序容器
2.Region 內容區域
3.Module 模塊
4.wpf 不是特殊情況,就是指wpf和silverlight
一.wpf的內容控件
繼承自ContentControl控件的,我們稱之為內容控件.
<ContentControl Content=""></ContentControl>
ContentControl控件定義了一個Content,在沒有框架的情況下,也可以將其作為一個內容區域.然而為了滿足ui的需求,我們還需要各種不同的控件來當內容區域,如TabControl,DockPanel,Selector等。有些控件則繼承自ItemsControl屬於集合控件,不屬於內容控件.但他們根據不同需求,同時都可以當容器使用,但他們的使用方式卻不同.
為了統一對內容區域的操作,prism提供了一種適配模式,也可以說提供了控件與Region的映射關系.將不同可以作為容器的控件的操作方式統一為Region的操作方式.
prism內置有三種控件可以作為內容區域適配對象
ContentControl
ItemsControl
Selector
看起來只有三個,但是只要是繼承自這三個控件的其他控件也可以.下面介紹使用方法.
二.Region的基本操作,以下以Hello World為示例1.在Shell中注冊內容區域
如下代碼,http://www.codeplex.com/CompositeWPF是prism注冊的命名空間.
用RegionManager的附加屬性RegionName注冊了一個名叫MainRegion的內容區域
<Window x:Class="HelloWorldSample.Shell" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:cal="http://www.codeplex.com/CompositeWPF" Title="Composite Application Library Sample" Width="400" Height="300"> <ContentControl cal:RegionManager.RegionName="MainRegion"/> </Window>