WPF样式设置器对dependencyproperty属性的目标名称

时间:2012-09-07 03:50:28

标签: c# wpf xaml

我正在尝试将样式设置器的targetname设置为依赖项属性的Name属性。不太清楚如何处理这个问题。

//Customcontrol's Generic.xaml
<Style TargetType="{x:Type Controls:MyControl}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Controls:MyControl}">
                <Border Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}">
                    <ContentControl Content="{TemplateBinding Content}"/>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Setter TargetName="WHAT SHOULD I PUT HERE" Property="Opacity" Value="0.75"/>

</Style>

// Dependency Property
public static readonly DependencyProperty LabelToDisplayProperty  ...

// In XAML that adds the custom control
LabelToDisplay="{x:Reference Name=TitleLabel}"

基本上在TargetName中我想放置name属性引用的对象的LabelToDisplay

1 个答案:

答案 0 :(得分:0)

也许您可以将Opacity setter移动到LabelToDisplay对象中并仅在需要时触发它?

也许你可以绑定TargetName中的LabelToDisplay?

如果没有,我认为有最后一个选项,您将针对LabelToDisplay创建新的DataTrigger,然后执行:

<DataTrigger.EnterActions>

    Animation here

</DataTrigger.EnterActions>

您可以轻松地使用动画设置目标。 (例如,您根本不需要“Name”属性,只需提供所需的对象)