我的 XAML 中有一个框架:
<Frame Grid.Row="1" Content="{Binding MainContent}" Margin="8" NavigationUIVisibility="Hidden" />
内容是在代码中设置的页面,如下所示:
MainContent = new MyPage();
我想将宽度和高度绑定MyPage
到父框架的宽度和高度。框架位于网格行中,因此将随窗口调整大小。
将 MyPage 的 HorizontalAlignment 和 VerticalAlignment 属性都设置为“Stretch”,并将其 Margin 设置为 0。如果这还不够,请将 Frame 的 HorizontalContentAlignment 和 VerticalContentAlignment 设置为“Stretch”。
要进行调试,首先检查您的 Frame 是否确实跟随其父级、更改其背景或做类似的事情。检查页面的高度和宽度是否设置为自动,并且 MaxHeight 和 MaxWidth 为 0。还要检查页面中的子控件。有时 Blend 可能会使用固定值覆盖此属性或在自动生成控件时设置它们。
例如,当您使用“Group”命令包装子元素时,生成的面板控件可能带有固定的宽度和高度。
另一种情况:当您更改网格行或列大小类型的类型(使用设计器上的图标)而不在属性视图中显示其属性时,Blend 可能会设置最小宽度/高度。尤其是在将尺寸类型更改为自动时会发生这种情况。