using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace _20230724_MBJC_upperpc.Views { /// /// SupportModel.xaml 的交互逻辑 /// public partial class SupportModel : UserControl { //包装器 public float Rotate_X { get { return (float)this.GetValue(Rotate_XProperty); } set { this.SetValue(Rotate_XProperty, value); } } public static readonly DependencyProperty Rotate_XProperty = DependencyProperty.Register("Rotate_X", typeof(float), typeof(SupportModel), new PropertyMetadata(default(float), new PropertyChangedCallback(OnPropertyChanged))); public float Rotate_Y { get { return (float)this.GetValue(Rotate_YProperty); } set { this.SetValue(Rotate_YProperty, value); } } public static readonly DependencyProperty Rotate_YProperty = DependencyProperty.Register("Rotate_Y", typeof(float), typeof(SupportModel), new PropertyMetadata(default(float), new PropertyChangedCallback(OnPropertyChanged))); public float Rotate_Z { get { return (float)this.GetValue(Rotate_ZProperty); } set { this.SetValue(Rotate_ZProperty, value); } } public static readonly DependencyProperty Rotate_ZProperty = DependencyProperty.Register("Rotate_Z", typeof(float), typeof(SupportModel), new PropertyMetadata(default(float), new PropertyChangedCallback(OnPropertyChanged))); /// /// 是否可以使用鼠标跟随 /// public bool TBDEnable { get { return (bool)this.GetValue(TBDEnableProperty); } set { this.SetValue(TBDEnableProperty, value); } } public static readonly DependencyProperty TBDEnableProperty = DependencyProperty.Register("TBDEnable", typeof(bool), typeof(SupportModel), new PropertyMetadata(default(bool), new PropertyChangedCallback(OnPropertyChanged))); public static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { (d as SupportModel).Refresh(); } public SupportModel() { InitializeComponent(); } private void Refresh() { this.rotateX.Angle = Rotate_X - 90; this.rotateY.Angle = Rotate_Y + 90; this.rotateZ.Angle = Rotate_Z; this.TBD.IsEnabled = TBDEnable; } } }