今天你用Need multiple styles dependent on Listboxitem
帮助了我但现在我在绘制或移动物体时得到一个灰色矩形。
图片应该是什么样子,以及当我画一条线时的样子: https://drive.google.com/file/d/0B_F04v1afwM5c0kteExsamlMcHM/edit?usp=sharing
这是我使用的代码:
<ListBox.Resources>
<DataTemplate DataType="{x:Type model:PathLine}">
<Path Stroke="{Binding ObjectColor}" StrokeThickness="{Binding StrokeThickness}" Data="{Binding PathGeometryData}" x:Name="PathLine" Opacity="{Binding Opacity}" >
</Path>
</DataTemplate>
<DataTemplate DataType="{x:Type model:ImageObject}">
<Image Source="H:\Dropbox\WPF Projekte\Arena WPF\ArenaProgram\ArenaProgram\Pictures\tree1.png" Name="imgPic1" Width="100" Height="75" Stretch="Fill" VerticalAlignment="Top" />
</DataTemplate>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect Color="Crimson" ShadowDepth="3" BlurRadius="10" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.Resources>
希望有人可以帮助我:)。
答案 0 :(得分:0)
啊哈!最后,我知道你在谈论什么。 :)
在我看来,具有浅红色边框的(在我看来,白色)矩形是ListBoxItem
对象。您添加了一个Style
,告诉ListBoxItem
在选中时会在其边缘显示深红色光晕,因此 就是您所看到的。尝试添加Setter
,将Background
属性设置为Transparent
:
<Style TargetType="ListBoxItem">
<Setter Property="Background" Value="Transparent" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect Color="Crimson" ShadowDepth="3" BlurRadius="10"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
如果这不起作用,您可以考虑完全删除Trigger
。