我想将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的颜色是黑色的。这意味着不使用转换器。
答案 0 :(得分:1)
您正在绑定Color属性,但转换器正在返回Brushes。从转换器中删除SolidColorBrush并返回Colors.WhiteSmoke,Colors.Red等...