1

達成したい特定の幅についてこれ

私はこのxamlツリーを構築しています:

<ContentPresenter x:Name="CardContentPresenter"
                  Height="{Binding ActualWidth,
                                   ElementName=CardContentPresenter,
                                   Converter={StaticResource WidthToHeightConverter},
                                   Mode=OneWay}"
                  VerticalAlignment="Center">
    <Border x:Name="CardBorder">
        <Border x:Name="ContentBorder"
                Width="{Binding ActualWidth,
                                ElementName=CardBorder,
                                Converter={StaticResource WidthToContentWidthConverter},
                                Mode=OneWay}"
                Height="{Binding ActualHeight,
                                 ElementName=CardBorder,
                                 Converter={StaticResource WidthToContentWidthConverter},
                                 Mode=OneWay}"
                HorizontalAlignment="Center"
                VerticalAlignment="Center">
            <Grid>
                <ContentPresenter x:Name="CardContentContentPresenter"
                                  Height="{Binding ActualWidth,
                                                   ElementName=CardContentContentPresenter,
                                                   Converter={StaticResource HeightToWidthConverter},
                                                   Mode=OneWay}"
                                  VerticalAlignment="Center">
                    <Grid />
                </ContentPresenter>
            </Grid>
        </Border>
    </Border>
</ContentPresenter>

しかし、コンバーター内のブレークポイントでわかるように、Height/Width の計算の順序が乱雑です (たとえば、inner-inner-Height が inner-Width の前に計算されるため、値が正しくありません)。

プロパティの計算の順序を制御するにはどうすればよいですか? または、私のアプローチ全体が間違っていて、それに対処する別の方法がありますか?

4

0 に答える 0