我的边框控件定义如下:
<Border Background="Azure" Grid.Row="2">
<ContentControl Width="Auto" Height="Auto" Regions:RegionManager.RegionName="MainContent" />
</Border>
我可以在整个区域看到Azure背景
现在我将我的视图注入此ContentControl(它是PRISM)。视图看起来像这样..
<toolkit:BusyIndicator IsBusy="{Binding IsBusy}">
<Grid Margin="10" DataContext="{Binding}"
infBehaviors:RegionPopupBehaviors.CreatePopupRegionWithName="ViewPopup"
infBehaviors:RegionPopupBehaviors.ContainerWindowStyle="{StaticResource PopupStyle}">
<!--Define rows in a grid-->
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!--Define columns in a grid-->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="65" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
现在当我将新的UserCOntrol放在我的网格顶部时 - 我希望它覆盖整个“Azure”区域。但我只看到覆盖了我的数据输入表格的大小。似乎第二个网格没有“填充”ContentControl - 只需要占用所需的空间。我该怎么强迫它填充?我设置了自动列和行 - 认为它们会伸展但没有..
编辑: Silverlight Spy的屏幕截图..它显示来自Shell的ContentControl覆盖了整个区域,但网格内部完全忽略了我的“*”大小。它也可以在设计模式下工作 - 它延伸到整个设计区域......
答案 0 :(得分:1)
确保将ContentControl的HorizontalContentAlignment和VerticalContentAlignment设置为Stretch。 ^ _ ^
e.g。
<Border Background="Azure" Grid.Row="2">
<ContentControl HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
Width="Auto" Height="Auto" Regions:RegionManager.RegionName="MainContent" />
</Border>