绑定到ActualSize

时间:2012-11-20 10:52:20

标签: c# silverlight windows-phone-7 xaml binding

对于给定的宽度,我想实现this http://s19.postimage.org/gza4s6fnn/Untitled.png

我正在构建这个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>

但正如我可以通过转换器内部的断点看到的,高度/宽度计算的顺序很混乱(例如,内部 - 内部高度在内部宽度之前计算,因此值不正确)。 / p>

如何控制属性计算的顺序?或者整个我的方法是错误的,还有另一种方法来处理它?<​​/ p>

0 个答案:

没有答案