无法将样式触发器属性设置为自定义依赖项属性

时间:2012-09-09 10:28:40

标签: c# wpf xaml triggers dependency-properties

使用我的usercontrol的xaml文件-.-'

时遇到了另一个问题

我尝试在自定义按钮中实现IsChecked属性,以便在选中按钮时设置不同的背景颜色。

所以我创建了一个这样的DependencyProperty

public static readonly DependencyProperty IsCheckedProperty = DependencyProperty.Register("IsChecked", typeof(bool), typeof(LeftMenuBtn));

public bool IsChecked
{
    get { return (bool)GetValue(IsCheckedProperty); }
    set { SetValue(IsCheckedProperty, value); }
}

然后我设置了一个新的样式触发器来处理这个属性:

<Style x:Key="ButtonEnableStates" TargetType="{x:Type Grid}">
    <Style.Triggers>
        <Trigger Property="IsChecked" Value="True">
            <Setter Property="Background" Value="{DynamicResource CheckedStateGradient}" />
        </Trigger>
    </Style.Triggers>
</Style>

Expression Blend现在强调Property="IsChecked"并说:

The member "IsChecked" is not recognized or is not accessible.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

好吧,Style的{​​{1}}是TargetType而且该属性是为Grid定义的,不会像那样工作。