私は 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>