Listbox には MainControl と 4 つの PreviewControls があります。リストボックスの項目をクリックすると、mainControl が変更されます (これが発生します)。しかし、listboxitem にドラッグ動作を追加して、listboxitem を previewControls の 1 つにドラッグできるようにしたいと考えています。私はこれを試しましたが、listboxitem をドラッグしようとすると、selectionchanged イベントが常に発生します。
だから私は、MouseLeftDown を実行して listboxitem を移動するときに、ドラッグしてください。Click または MouseLefUp (selectionchanged) が発生すると、MainControl が変更されます。
これを試しましたが、 PreviewMouseLeftButtonDown イベントが再び実行され、他のイベントは実行されません。
private void lstCameras_PreviewMouseLeftButtonDown_1(object sender, MouseButtonEventArgs e)
{
startPoint = e.GetPosition(null);
if (!Test) e.Handled = true;
else
{
Test = false;
}
Console.WriteLine("lstCameras_PreviewMouseLeftButtonDown_1 Handled = " + e.Handled);
}
private void lstCameras_PreviewMouseUp_1(object sender, MouseButtonEventArgs e)
{
Console.WriteLine("lstCameras_MouseUp_1");
if (!Test)
{
Test = true;
lstCameras.RaiseEvent(new MouseButtonEventArgs(Mouse.PrimaryDevice, Environment.TickCount, MouseButton.Left) { RoutedEvent = ListBox.PreviewMouseLeftButtonDownEvent });
}
else
{
Test = false;
}
Console.WriteLine("end lstCameras_MouseUp_1 Test = " + Test);
}