WPF-изображение 'highlight' с DropShadowEffect не может связать цвет - PullRequest
0 голосов
/ 26 августа 2011

Я создал UserControl с именем ImageButton , и я использую DropShadowEffect на MouseOver, чтобы отобразить кнопку как «активную».Тем не менее я не могу связать свойство Color моего DropShadowEffect.Кто-нибудь может подсказать, почему это не работает?

XAML ;

<ControlTemplate x:Key="ActiveEffectTemplate" TargetType="{x:Type Controls:ImageButton}">
    <Image Name="image" Source="{TemplateBinding ImageSource}">
        <Image.Effect>
            <DropShadowEffect 
                Color="{Binding HighlightColour}"
                BlurRadius="20" 
                ShadowDepth="0"
                Opacity="1" 
                Direction="0"/>
        </Image.Effect>
    </Image>
</ControlTemplate>

Код позади;

public static readonly DependencyProperty HighlightColourProperty =
        DependencyProperty.Register("HighlightColour", typeof(Color), typeof(ImageButton));

    public Color HighlightColour
    {
        get { return (Color)GetValue(HighlightColourProperty); }
        set { SetValue(HighlightColourProperty, value); }
    }

Ответы [ 2 ]

1 голос
/ 27 августа 2011

Я полагаю, что решил эту проблему, добавив в привязку следующее:

RelativeSource={RelativeSource AncestorType={x:Type Controls:ImageButton}} 
0 голосов
/ 26 августа 2011

Это связывание относительно DataContext, вероятно, оно должно быть просто TemplateBinding.

...