我需要阴影ListBoxItem
。MouseOver
底部代码有效,但包括字母在内的整个列表框TextBlock
都有阴影:
<ListBox ItemContainerStyle="{StaticResource Style1}"
和项目Style
:
<Style x:Key="Style1" TargetType="{x:Type ListBoxItem}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True" >
<Setter Property = "Effect" >
<Setter.Value>
<DropShadowEffect ShadowDepth="10" Direction="0" Opacity="1" BlurRadius="5" Color="Black"/>
</Setter.Value>
</Setter>
</Trigger>
简化DataTemplate
:
<DataTemplate x:Key="TemplateSimple" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Title}" Grid.Column="0"/>
<TextBlock Text="{Binding FirstName}" Grid.Column="1"/>
<TextBlock Text="{Binding LastName}" Grid.Column="2"/>
示例被简化。
我还尝试添加到DataTemplate
:
<Rectangle Grid.Column="0" Fill="GreenYellow" Grid.ColumnSpan="3">
并将阴影分配给它,但只有当TextBlock
s 为空时它才会做出反应。其他想法表示赞赏。
编辑: 如您所见,它不是真正的阴影,而是模糊的文字。如果它是一个阴影,它会在改变阴影长度时发生很大变化: