DropShadowEffect颜色绑定无法正常工作

时间:2016-03-22 20:24:56

标签: c# wpf xaml binding

我想将viewmodel的一个属性绑定到DropShadowEffect的Color。我尝试了一千种变化,但似乎没有一种变化。

风格:

> w
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    1    0    1    0
[2,]    1    0    0    1    0
[3,]    0    1    0    0    1
[4,]    1    1    0    0    0
[5,]    0    1    1    0    0

控制:

<Style TargetType="{x:Type Image}" x:Key="CentralImageStyle">
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Effect">
                <Setter.Value>
                    <DropShadowEffect ShadowDepth="0" 
                    Color="{Binding Path=DataContext.CurrentPlayer.Character, Converter={StaticResource CharacterColorConverter},
                        RelativeSource={RelativeSource AncestorType={x:Type Window}}}" 
                    Opacity="1" BlurRadius="50"/>
                </Setter.Value>
            </Setter>
        </Trigger>
    </Style.Triggers>
</Style>

和转换器:

<Image Source="{Binding CurrentPlayer.BackImageSource}"
       Style="{DynamicResource ResourceKey=CentralImageStyle}">

我的问题是DropShadowEffect的颜色是黑色的。这意味着不使用转换器。

1 个答案:

答案 0 :(得分:1)

您正在绑定Color属性,但转换器正在返回Brushes。从转换器中删除SolidColorBrush并返回Colors.WhiteSmoke,Colors.Red等...