MaterialGroup.Children Property

 

Gets or sets a collection of child Material objects.

Namespace:   System.Windows.Media.Media3D
Assembly:  PresentationCore (in PresentationCore.dll)

public MaterialCollection Children { get; set; }

Property Value

Type: System.Windows.Media.Media3D.MaterialCollection

MaterialCollection that contains the child Material objects.

Identifier field

ChildrenProperty

Metadata properties set to true

None

The following example shows how to add multiple materials to a MaterialGroup.

// The material property of GeometryModel3D specifies the material applied to the 3D object.  
// In this sample the material applied to the 3D object is made up of two materials layered  
// on top of each other - a DiffuseMaterial (gradient brush) with an EmissiveMaterial 
// layered on top (blue SolidColorBrush). The EmmisiveMaterial alters the appearance of  
// the gradient toward blue.

// Create a horizontal linear gradient with four stops.   
LinearGradientBrush myHorizontalGradient = new LinearGradientBrush();
myHorizontalGradient.StartPoint = new Point(0, 0.5);
myHorizontalGradient.EndPoint = new Point(1, 0.5);
myHorizontalGradient.GradientStops.Add(new GradientStop(Colors.Yellow, 0.0));
myHorizontalGradient.GradientStops.Add(new GradientStop(Colors.Red, 0.25));
myHorizontalGradient.GradientStops.Add(new GradientStop(Colors.Blue, 0.75));
myHorizontalGradient.GradientStops.Add(new GradientStop(Colors.LimeGreen, 1.0));

// Define material that will use the gradient.
DiffuseMaterial myDiffuseMaterial = new DiffuseMaterial(myHorizontalGradient);

// Add this gradient to a MaterialGroup.
MaterialGroup myMaterialGroup = new MaterialGroup();
myMaterialGroup.Children.Add(myDiffuseMaterial);

// Define an Emissive Material with a blue brush.
Color c = new Color();
c.ScA = 1;
c.ScB = 255;
c.ScR = 0;
c.ScG = 0;
EmissiveMaterial myEmissiveMaterial = new EmissiveMaterial(new SolidColorBrush(c));

// Add the Emmisive Material to the Material Group.
myMaterialGroup.Children.Add(myEmissiveMaterial);

// Add the composite material to the 3D model.
myGeometryModel.Material = myMaterialGroup;

.NET Framework
Available since 3.0
Return to top
Show: