我正在尝试创建反射效果,它工作得很好,只是我必须对一些值进行硬编码。这是我的 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>
我尝试过更换 BorderWidth="500"
and Height="200"
by Width="{Binding ElementName=CurrentPresenter, Path=Width}"
and Height="{Binding ElementName=CurrentPresenter, Path=Height}"
但它似乎不起作用。
这段代码有什么问题?
更新:如果我在这里设置宽度和高度:
<UserControl x:Name="CurrentPresenter" Height="200" Width="500" />
它按预期工作。但是,如果我在 UserControl XAML 中设置这些值,它将不起作用。有任何想法吗?
您是否尝试过绑定到 UserControl 的 Height 和 Width 属性,而不是绑定Height
and Width
的属性Border
to the ActualHeight
and ActualWidth
用户控件的属性?
<Border
Width="{Binding ElementName=CurrentPresenter, Path=ActualWidth}"
Height="{Binding ElementName=CurrentPresenter, Path=ActualHeight}" >
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)