0

XAML にフレームがあります。

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

コンテンツは、次のようなコードで設定されたページです。

MainContent = new MyPage();

MyPageの幅と高さを親 Frame の幅と高さにバインドしたい。フレームはグリッド行にあるため、ウィンドウに合わせてサイズが変更されます。

4

1 に答える 1

2

MyPage の Horizo​​ntalAlignment と VerticalAlignment の両方のプロパティを "Stretch" に設定し、Margin を 0 に設定します。これで十分でない場合は、Frame の Horizo​​ntalContentAlignment と VerticalContentAlignment も "Stretch" に設定します。

デバッグするには、まず Frame が実際にその親をフォローしているか、背景を変更しているか、または同様のことを行っているかを確認します。ページの Height と Width が Auto に設定され、MaxHeight と MaxWidth が 0 に設定されているかどうかを確認します。ページ内の子コントロールについても確認します。Blend は、このプロパティを固定値でオーバーライドしたり、コントロールの自動生成時に設定したりすることがあります。

たとえば、「グループ」コマンドを使用して子要素をラップすると、生成されたパネル コントロールの幅と高さが固定される場合があります。

別のケース: プロパティ ビューにプロパティを表示せずに (デザイナーのアイコンを使用して) グリッドの行または列のサイズ タイプを変更すると、Blend は MinimumWidth/Height を設定する場合があります。特に、サイズ タイプを auto に変更すると発生します。

于 2012-11-22T16:46:52.403 に答える