【问题标题】:How do I set Frame.Content size to Frame size?如何将 Frame.Content 大小设置为 Frame 大小?
【发布时间】:2012-11-23 02:01:01
【问题描述】:

我的 XAML 中有一个框架:

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

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

MainContent = new MyPage();

我想把MyPage的宽高绑定到父Frame的宽高上。 框架位于网格行中,因此将随窗口调整大小。

【问题讨论】:

    标签: c# .net wpf


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢调试帮助,现在可以正常工作了。问题是页面中的某个元素的 maxWidth 设置大于框架。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 2014-03-15
    • 2012-08-31
    • 2014-06-05
    相关资源
    最近更新 更多