Binding AxisAngleRotation3D для сохранения изменения угла
Моя цель - сохранить xAngle
в моем ViewModel
после вращения 3d модели.
По какой-то причине properties
не обновляются в ViewModel
Что мне здесь не хватает?
Вот мой код:
У меня есть следующий код в xaml:
<Window.DataContext>
<Local:VM />
</Window.DataContext>
<helix:HelixViewport3D x:Name="viewPort3d" ZoomExtentsWhenLoaded="true" CameraRotationMode="Trackball"
ShowCoordinateSystem="True" RotateGesture="{Binding RotateGesture, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
>
<helix:SpotHeadLight/>
<ModelVisual3D Content="{Binding The3dModel.Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<ModelVisual3D.Transform>
<Transform3DGroup>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="1,0,0" Angle="{Binding xAngle, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Transform3DGroup>
</ModelVisual3D.Transform>
</ModelVisual3D>
</helix:HelixViewport3D>
И следующий код в ViewModel:
public class VM : INotifyPropertyChanged
{
private int m_xAngle;
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); }
public int xAngle
{
get => m_xAngle;
set
{
m_xAngle = value;
OnPropertyChanged();
}
}
}