我有一个ListBox,在鼠标悬停在一个项目上时会显示一个删除按钮。问题是,IsMouseOver触发器大约在高亮项目的4个像素处,因此当鼠标悬停在多个项目上时,删除按钮似乎不是随着您上下移动,而是在项目之间的间隙中闪烁。是否有任何方法使IsMouseOver响应整个项目?
<ListBox Name="lstLength" ItemsSource="{Binding Source={StaticResource lengths}}">
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel LastChildFill="True" Height="22">
<Button DockPanel.Dock="Right" Name="btnDelete" Content="X" Tag="{Binding}" Click="DeleteLength" Visibility="Collapsed" />
<TextBlock Text="{Binding}" />
</DockPanel>
<DataTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="btnDelete" Property="Visibility" Value="Visible" />
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Template.Triggers
中。) - H.B.