private static void PartPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { //((PartUI)d).InvalidateModel(); PartUI p = d as PartUI; if (p != null) { p.Content = p.CreatePartModel(); } }
private static void IsSelectedPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { PartUI s = (PartUI)d; s.IsSelected = (bool)e.NewValue; if (s.IsSelected) { s.ChangeApperence(PartStatus.Selected); } else { s.ChangeApperence(PartStatus.None); } //s.RaiseEvent(SelectionChangedEvent); }
private static void ColorPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { PartUI s = (PartUI)d; if (s.Visual3DModel != null) { s.PartColor = (PartColors)e.NewValue; Model3DGroup mg = (Model3DGroup)s.Visual3DModel; DiffuseMaterial mat = ((GeometryModel3D)mg.Children[0]).Material as DiffuseMaterial; PartColor newColor = KnownPartColors.GetColor(s.PartColor); if (mat != null) { mat.Brush = newColor.Color; } } }
private static void PositionPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { PartUI s = (PartUI)d; s.Position = (Point3D)e.NewValue; TranslateTransform3D trans = s.Transform as TranslateTransform3D; if (trans != null) { trans.OffsetX = s.Position.X; trans.OffsetY = s.Position.Y; trans.OffsetZ = s.Position.Z; } else { s.Transform = null; s.Transform = new TranslateTransform3D(s.Position.X, s.Position.Y, s.Position.Z); } // DO NOT RAISE THIS EVENT HERE. //s.RaiseEvent(PositionChangedEvent); }