私のWPFアプリケーションでは、何かがドロップされようとしているときはいつでもListViewItemを強調表示する必要があります。ListViewItemのOnDragEnter、OnDragOver、OnDragLeaveなどをオーバーライドして、スタイルを適用します(背景の変更など)。正常に動作しています。しかし、リストビューアイテムに何かをドロップした後、リストビューアイテムをクリックすると、選択とマウスオーバーの効果が正しく機能しません。これを解決するにはどうすればよいですか?
public class CustomListViewItem : ListViewItem
{
protected override void OnDragOver(System.Windows.DragEventArgs e)
{
this.Background = Brushes.Green;
base.OnDragOver(e);
}
protected override void OnDragEnter(System.Windows.DragEventArgs e)
{
this.Background = Brushes.Green;
base.OnDragEnter(e);
}
protected override void OnDragLeave(System.Windows.DragEventArgs e)
{
if (!this.IsSelected)
{
this.Background = Brushes.Transparent;
this.BorderBrush = Brushes.Transparent;
}
base.OnDragLeave(e);
}
}