Sto provando a creare un effetto di riflessione e funziona benissimo tranne che devo codificare alcuni valori. Questo è il mio XAML:XAML, proprietà di larghezza e altezza vincolanti con le stesse proprietà dell'altro controllo
<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>
Ho provato a sostituire di Border Width="500"
e Height="200"
da Width="{Binding ElementName=CurrentPresenter, Path=Width}"
e Height="{Binding ElementName=CurrentPresenter, Path=Height}"
, ma non sembra funzionare.
Wha's sbagliato con questo codice?
UPDATE: Se ho impostato Larghezza e Altezza qui:
<UserControl x:Name="CurrentPresenter" Height="200" Width="500" />
Esso funziona come previsto. Tuttavia non funziona se imposto questi valori in UserControl XAML. Qualche idea?
Quando dici che non funziona, che tipo di comportamento stai effettivamente vedendo? Il Border appare troppo piccolo, o continua semplicemente ad allungarsi all'infinito (ho visto entrambi). – TabbyCool
Si allunga per riempire il coniner. – JAG
Se si imposta l'altezza e la larghezza in UserControl XAML, l'UserControl sembra avere le giuste dimensioni ed è solo il bordo che si sta allungando, oppure entrambi i controlli hanno le dimensioni sbagliate? – TabbyCool