如何将Frame.Content大小设置为Frame大小?

时间:2012-11-22 16:31:23

标签: c# .net wpf

我的XAML中有一个Frame:

<Frame Grid.Row="1" Content="{Binding MainContent}" Margin="8" NavigationUIVisibility="Hidden" />

内容是在代码中设置的页面,如下所示:

MainContent = new MyPage();

我想将MyPage的宽度和高度绑定到父框架的宽度和高度。 框架在网格行中,因此将随窗口一起调整大小。

1 个答案:

答案 0 :(得分:2)

将MyPage的Horizo​​ntalAlignment和VerticalAlignment属性设置为“Stretch”,将其Margin设置为0.如果还不够,还将Frame的Horizo​​ntalContentAlignment和VerticalContentAlignment设置为“Stretch”。

要进行调试,请首先检查您的Frame是否实际上跟随其父级,更改其背景或执行类似操作。检查页面的高度和宽度是否设置为“自动”,MaxHeight和MaxWidth是否为0.还要检查页面中的子控件。 有时Blend可能会使用固定值覆盖此属性,或者在自动生成控件时设置它们。

例如,当您使用“组”命令来换行子元素时,生成的面板控件可能会带有固定的宽度和高度。

另一种情况:当您更改网格行或列大小类型的类型(使用设计器上的图标)而不在属性视图中显示其属性时,Blend可以设置MinimumWidth / Height。特别是在将尺寸类型更改为自动时会发生这种情况。