我在后面用代码制作了一个3d盒子。
我想通过鼠标左键按下鼠标左键获得字符串格式的材质(例如,DiffuseMaterial)的颜色:
GeometryModel3D result2 = result1.ModelHit as GeometryModel3D;我用:
MessageBox.Show(result2.Material.ToString());这不管用!
非常感谢。
发布于 2013-08-29 13:19:57
如果您想获得用于创建Brush作为string的DiffuseMaterial的颜色,那么您需要首先检查它是否是DiffuseMaterial,因为并不是所有的材料都需要使用Brush,然后必须检查Brush是否是SolidColorBrush,因为只有这样才能支持单色。如下所示应该有效:
DiffuseMaterial material = result2.Material as DiffuseMaterial;
if (material != null)
{
string brushColor = null;
var brush = material.Brush as SolidColorBrush;
if (brush != null)
brushColor = brush.Color.ToString();
}https://stackoverflow.com/questions/18486327
复制相似问题