<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfCustomControlLibrary1">
<ContentControl x:Key="BackSide" Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Back}" RenderTransformOrigin="0.5,0.5">
<ContentControl.RenderTransform>
<ScaleTransform ScaleX="-1" />
</ContentControl.RenderTransform>
</ContentControl>
<Style TargetType="{x:Type local:CustomControl1}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:CustomControl1}">
<ContentControl Grid.Row="1">
<ContentControl.RenderTransform>
<TransformGroup>
<ScaleTransform x:Name="tf" ScaleX="1" />
</TransformGroup>
</ContentControl.RenderTransform>
<ContentControl.Style>
<Style TargetType="ContentControl">
<Setter Property="Content" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Front}" />
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<Binding ElementName="tf" Path="ScaleX">
<Binding.Converter>
<loc:LessThanXToTrueConverter X="0" />
</Binding.Converter>
</Binding>
</DataTrigger.Binding>
<DataTrigger.Setters>
<Setter Property="Content" Value="{StaticResource BackSide}"/>
</DataTrigger.Setters>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
WPF CustomControl содержание переключатель ContentControl
Это некоторый XAML код из customcontrol. Там, где есть два свойства зависимостей (Front и Back).
Через мой DataTrigger Я хочу изменить содержимое ContentControl с помощью «Front», чтобы использовать «Назад». Сначала он отображает свойство depencency «Front», а затем он должен использовать свойство «Назад» в качестве Контента. Это делается с помощью этого кода:
<DataTrigger.Setters>
<Setter Property="Content" Value="{StaticResource BackSide}"/>
</DataTrigger.Setters>
Но это не работает ...
я могу связать и отображать содержимое свойства Front зависимостей в моем управлении по:
<Setter Property="Content" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Front}" />
но я не могу понять, как связать средство настройки DataTrigger, чтобы он использовал ContentControl Content с x: Key = «BackSide» ContentControl.
Заранее благодарен.
Есть ли у вас ошибки привязки в окне вывода? –
Вы также гарантировали, что значение действительно верно для вашего datatrigger? –
Если я установил Setter таким же образом с параметром RelatedSource TemplatedParent, как и свойство Front (и, как предлагает Шеридан), я вижу контент, но мой RenderTransform ScaleTransform не применяется. – juFo