Пример #1
0
        private static void PartPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            //((PartUI)d).InvalidateModel();
            PartUI p = d as PartUI;

            if (p != null)
            {
                p.Content = p.CreatePartModel();
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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;
                }
            }
        }
Пример #4
0
        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);
        }