У меня есть набор преобразований, которые я применяю для создания необычного отражения для элементов управления. Я хочу иметь возможность применять те же вещи к другим элементам, но я не знаю, как сгруппировать их и применить как ресурс.
Может кто-нибудь мне помочь? Вот некоторый код, который применяет преобразование к первому текстовому полю. Это выглядит много, но довольно просто, это просто прямоугольник под элементом управления, с применением нескольких преобразований и других визуальных эффектов. Я хочу сделать то же самое с этим прямоугольником, но применить его к другим элементам управления (и таким образом каким-то образом параметризировать привязки.)
<StackPanel Margin="40">
<TextBlock x:Name="TitleDisp" FontSize="40" FontFamily="Verdana" Opacity="0.8" HorizontalAlignment="Center">Sample Title</TextBlock>
<Rectangle Height="{Binding Path=ActualHeight, ElementName=TitleDisp}" Width="{Binding Path=ActualWidth, ElementName=TitleDisp}">
<Rectangle.Fill>
<VisualBrush Visual="{Binding ElementName=TitleDisp}"/>
</Rectangle.Fill>
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="0.75"/>
<SkewTransform AngleX="10" AngleY="8"/>
<TranslateTransform X="30" Y="-10"/>
</TransformGroup>
</Rectangle.RenderTransform>
<Rectangle.OpacityMask>
<LinearGradientBrush EndPoint="0,1">
<GradientStop Offset="0" Color="Transparent"/>
<GradientStop Offset="1" Color="#77000000"/>
</LinearGradientBrush>
</Rectangle.OpacityMask>
<Rectangle.Effect>
<BlurEffect/>
</Rectangle.Effect>
</Rectangle>
</StackPanel>