Style Trigger on Attached Property

Posted by vanja. on Stack Overflow See other posts from Stack Overflow or by vanja.
Published on 2010-03-25T02:36:26Z Indexed on 2010/03/25 2:43 UTC
Read the original article Hit count: 459

Filed under:
|

I have created my own Attached Property like this:

 public static class LabelExtension
    {
        public static bool GetSelectable(DependencyObject obj)
        {
            return (bool)obj.GetValue(SelectableProperty);
        }
        public static void SetSelectable(DependencyObject obj, bool value)
        {
            obj.SetValue(SelectableProperty, value);
        }
        // Using a DependencyProperty as the backing store for Selectable.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty SelectableProperty =
            DependencyProperty.RegisterAttached("Selectable", typeof(bool), typeof(Label), new UIPropertyMetadata(false));
    }

And then I'm trying to create a style with a trigger that depends on it:

<!--Label-->
<Style TargetType="{x:Type Label}">
    <Style.Triggers>
        <Trigger Property="Util:LabelExtension.Selectable" Value="True">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Label}">
                        <TextBox IsReadOnly="True" Text="{TemplateBinding Content}" />
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Trigger>
    </Style.Triggers>
</Style>

But I'm getting a run time exception:

Cannot convert the value in attribute 'Property' to object of type 'System.Windows.DependencyProperty'.  Error at object 'System.Windows.Trigger' in markup file 

How can I access the value of the attached property in a style trigger? I have tried using a DataTrigger with a RelativeSource binding but it wasn't pulling the value through.

© Stack Overflow or respective owner

Related posts about wpf

Related posts about xaml