什么是区域?
在理解这个之前, 首先需要了解一下, 在最常见的开发模式当中, 我们去设计某个页面的时候, 实际上界面元素在设计的时候已经被固定, 举个简单的例子。
当我们去设计如下页面, 它包含Header、Menu、Content内容。因此我们可以为这个页面设计一些元素, 例如:
1.Menu 可以放置ListBox
2.Content 可以放置一个ContenControl
3.Header 可以放置一些ToolBar
布局代码如下所示。
注:为了演示需要, 对应区域的控件均采用TextBlock演示, 实际开发中, 往往我们会采用的各类控件。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Border Grid.ColumnSpan="2" Background="#0063B1">
<TextBlock Padding="10" FontSize="30" Text="Header" />
</Border>
<Border Grid.Row="1" Background="#F08B6A">
<TextBlock Padding="10" FontSize="30" Text="Menu" />
</Border>
<Border Grid.Row="1" Grid.Column="1" Background="#948CC0">
<TextBlock Padding="10" FontSize="30" Text="Content" />
</Border>
</Grid>
那么, 现在在回到Region主题当中, 在Prism当中, 一个页面, 我们可以不再为其固定显示的内容, 而这种概念变成了区域(Region)划分的概念。将页面显示的区域划分称N个Region, 此时, 每个Region将变成了动态分配区域。