XAML, binden Eigenschaften Width und Height den gleichen Eigenschaften von anderen Steuern

Ich versuche zu schaffen, eine Reflexion Wirkung und es funktioniert großartig, außer, dass ich zu hart-code einige Werte. Dies ist mein XAML:

 <Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="60"/>
        <RowDefinition />
        <RowDefinition Height="80"/>
    </Grid.RowDefinitions>
    <StackPanel Grid.Row="1" VerticalAlignment="Center">
        <UserControl x:Name="CurrentPresenter" />
        <Border Width="500" Height="200" >
            <Border.Background>
                <VisualBrush Visual="{Binding ElementName=CurrentPresenter}" >
                    <VisualBrush.Transform>
                        <TransformGroup>
                            <ScaleTransform ScaleX="1" ScaleY="-1" CenterX="500" CenterY="99" />
                        </TransformGroup>
                    </VisualBrush.Transform>
                </VisualBrush>
            </Border.Background>
            <Border.OpacityMask>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.6">
                        <GradientStop Offset="-0.6" Color="Black"></GradientStop>
                        <GradientStop Offset="0.6" Color="Transparent"></GradientStop>
                    </LinearGradientBrush>
                </Border.OpacityMask>
        </Border>
    </StackPanel>
</Grid>

Habe ich versucht zu ersetzen Grenze Width="500" und Height="200" durch Width="{Binding ElementName=CurrentPresenter, Path=Width}" und Height="{Binding ElementName=CurrentPresenter, Path=Height}" aber es scheint nicht zu funktionieren.

Wha ist falsch an diesem code?

UPDATE: Wenn ich die Breite und Höhe hier:

<UserControl x:Name="CurrentPresenter" Height="200" Width="500" />

Funktioniert es wie erwartet. Aber es funktioniert nicht, wenn ich die Werte einstellen, die in XAML die UserControl. Irgendwelche Ideen?

  • Wenn Sie sagen, es funktioniert nicht, welche Art von Verhalten sind Sie eigentlich zu sehen? Liegt die Grenze zu klein angezeigt, oder ist es einfach zu halten Streckung unendlich (ich habe beide).
  • Es erstreckt sich zu füllen, die conatiner.
  • Wenn Sie die Höhe und Breite in XAML die UserControl, tut Sie das Benutzersteuerelement angezeigt, die richtige Größe und es ist einfach die Grenze, die Dehnung, oder sind beide regler in der falschen Größe?
  • Wenn ich die Höhe und Breite in der UserControl-XAML die UserControl ist mit der korrekten Größe dargestellt, jedoch ist die Grenze erstreckt sich, den container zu füllen. Es scheint, dass, wenn ich nicht explizit die Breite und Höhe Werte, die Bindung nicht funktioniert. Ich werde dies umgehen, indem das "Spiegelbild-Effekt" innerhalb des usercontrol, aber ich bin einfach neugierig, warum dies nicht funktioniert wie erwartet.
InformationsquelleAutor JAG | 2010-01-28
Schreibe einen Kommentar