TrackBall of WPF UserControl
.NET 10.0 - windows
WPF
xmlns:trackball="clr-namespace:TrackBallGUI;assembly=TrackBallGUI"<trackball:TrackBall
x:Name="TrackBallControl"
Rotation="{Binding Rotation}" />private void TrackBallControl_RotationChanged(object? sender, RotationChangedEventArgs e) {
AppendLog($"dragging: {FormatQuaternion(e.Quaternion)}");
}// Note: NOT USE `System.Numerics.Quaternion`
private Quaternion selected_rotation = Quaternion.Identity;
public Quaternion Rotation {
get => selected_rotation;
set {
selected_rotation = value;
OnPropertyChanged(nameof(Rotation));
}
}