ModelUIElement3D.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / Media3D / ModelUIElement3D.cs / 1 / ModelUIElement3D.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (c) Microsoft Corporation.  All rights reserved.
//  
//
// Description: 
// 
// History:
//  4/12/2007:  kurtb - Created 
//
//---------------------------------------------------------------------------

using MS.Internal; 
using MS.Internal.Media;
using MS.Internal.Media3D; 
using System; 
using System.Diagnostics;
using System.Collections.Specialized; 
using System.ComponentModel;
using System.Windows.Automation.Peers;
using System.Windows.Media.Composition;
using System.Windows.Markup; 

using SR=MS.Internal.PresentationCore.SR; 
using SRID=MS.Internal.PresentationCore.SRID; 

namespace System.Windows.Media.Media3D 
{
    /// 
    ///     ModelUIElement3D is a UIElement3D which draws the given Model3D.
    ///     ModelUIElement3D is usable from Xaml. 
    /// 
    [ContentProperty("Model")] 
    public sealed class ModelUIElement3D : UIElement3D 
    {
        //----------------------------------------------------- 
        //
        //  Constructors
        //
        //----------------------------------------------------- 

        #region Constructors 
 
        /// 
        ///     Default ctor 
        /// 
        public ModelUIElement3D()
        {
        } 

        #endregion Constructors 
 
        /// 
        ///    DependencyProperty which backs the ModelUIElement3D.Content property. 
        /// 
        public static readonly DependencyProperty ModelProperty =
            DependencyProperty.Register(
                    "Model", 
                    /* propertyType = */ typeof(Model3D),
                    /* ownerType = */ typeof(ModelUIElement3D), 
                    new PropertyMetadata(ModelPropertyChanged), 
                    (ValidateValueCallback) delegate { return MediaContext.CurrentMediaContext.WriteAccessEnabled; });
 
        private static void ModelPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ModelUIElement3D owner = ((ModelUIElement3D) d);
 
            // if it's not a subproperty change, then we need to change the protected Model property of Visual3D
            if (!e.IsASubPropertyChange) 
            { 
                owner.Visual3DModel = (Model3D)e.NewValue;
            } 
        }

        /// 
        ///     The Model3D to render 
        /// 
        public Model3D Model 
        { 
            get
            { 
                return (Model3D) GetValue(ModelProperty);
            }

            set 
            {
                SetValue(ModelProperty, value); 
            } 
        }
 
        /// 
        /// Called by the Automation infrastructure when AutomationPeer
        /// is requested for this element.
        ///  
        protected override AutomationPeer OnCreateAutomationPeer()
        { 
            return new UIElement3DAutomationPeer(this); 
        }
    } 
}


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//---------------------------------------------------------------------------- 
//
// 
//    Copyright (c) Microsoft Corporation.  All rights reserved.
//  
//
// Description: 
// 
// History:
//  4/12/2007:  kurtb - Created 
//
//---------------------------------------------------------------------------

using MS.Internal; 
using MS.Internal.Media;
using MS.Internal.Media3D; 
using System; 
using System.Diagnostics;
using System.Collections.Specialized; 
using System.ComponentModel;
using System.Windows.Automation.Peers;
using System.Windows.Media.Composition;
using System.Windows.Markup; 

using SR=MS.Internal.PresentationCore.SR; 
using SRID=MS.Internal.PresentationCore.SRID; 

namespace System.Windows.Media.Media3D 
{
    /// 
    ///     ModelUIElement3D is a UIElement3D which draws the given Model3D.
    ///     ModelUIElement3D is usable from Xaml. 
    /// 
    [ContentProperty("Model")] 
    public sealed class ModelUIElement3D : UIElement3D 
    {
        //----------------------------------------------------- 
        //
        //  Constructors
        //
        //----------------------------------------------------- 

        #region Constructors 
 
        /// 
        ///     Default ctor 
        /// 
        public ModelUIElement3D()
        {
        } 

        #endregion Constructors 
 
        /// 
        ///    DependencyProperty which backs the ModelUIElement3D.Content property. 
        /// 
        public static readonly DependencyProperty ModelProperty =
            DependencyProperty.Register(
                    "Model", 
                    /* propertyType = */ typeof(Model3D),
                    /* ownerType = */ typeof(ModelUIElement3D), 
                    new PropertyMetadata(ModelPropertyChanged), 
                    (ValidateValueCallback) delegate { return MediaContext.CurrentMediaContext.WriteAccessEnabled; });
 
        private static void ModelPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ModelUIElement3D owner = ((ModelUIElement3D) d);
 
            // if it's not a subproperty change, then we need to change the protected Model property of Visual3D
            if (!e.IsASubPropertyChange) 
            { 
                owner.Visual3DModel = (Model3D)e.NewValue;
            } 
        }

        /// 
        ///     The Model3D to render 
        /// 
        public Model3D Model 
        { 
            get
            { 
                return (Model3D) GetValue(ModelProperty);
            }

            set 
            {
                SetValue(ModelProperty, value); 
            } 
        }
 
        /// 
        /// Called by the Automation infrastructure when AutomationPeer
        /// is requested for this element.
        ///  
        protected override AutomationPeer OnCreateAutomationPeer()
        { 
            return new UIElement3DAutomationPeer(this); 
        }
    } 
}


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK