0

これを想像してみてください。Borderいくつかのカスタム wpf コントロールを含む があります。それを呼び出しましょうMyControl。これBorderは、ウィンドウのサイズが変更されると(使用可能なスペースを埋めるために)伸びます。MyControlサイズは固定です。HorizontalAlignment="Center"ここで、コントロールが利用可能なスペースに収まるときと収まらないときを制御したいと考えてHorizontalAlignment="Left"います。ただし、そのような動作を実装する方法がわかりません。

Border のイベントにサブスクライブして、との sSizeChangedに応じてコード ビハインドで配置を変更できると思いますが、もっと簡単な方法はありませんか? これは、データバインディングまたは添付された動作によって達成できますか?ActualWidthBorderMyControl

4

1 に答える 1

1

WidthコントロールのandHeightを固定値に設定し、 HorizontalAlignmentandVerticalAlignmentStretchの代わりに設定すると、自動的にそのように動作しますCenter

<Border BorderBrush="Red" BorderThickness="5">
    <my:MyControl Width="200" Height="150"
                  HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</Border>
于 2013-08-14T12:55:44.147 に答える