Я пытаюсь создать эффект отражения, и он отлично работает, за исключением того, что мне нужно жестко закодировать некоторые значения. Это моя XAML: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>
Я попытался заменить Border-х Width="500"
и Height="200"
по Width="{Binding ElementName=CurrentPresenter, Path=Width}"
и Height="{Binding ElementName=CurrentPresenter, Path=Height}"
, но это не похоже на работу.
Что с этим кодом?
UPDATE: Если установить ширину и высоту здесь:
<UserControl x:Name="CurrentPresenter" Height="200" Width="500" />
Он работает, как ожидалось. Однако это не сработает, если я установил эти значения в UserControl XAML. Есть идеи?
Когда вы говорите, что это не работает, какое поведение вы на самом деле видите? Граница кажется слишком маленькой, или она просто продолжает растягиваться бесконечно (я видел оба). – TabbyCool
Он растягивается, чтобы заполнить conatiner. – JAG
Если вы задаете высоту и ширину в UserControl XAML, выглядит ли UserControl как правильного размера, а просто растягивается граница или они управляют неправильным размером? – TabbyCool