C# 超出网格的WPF剪切控件

C# 超出网格的WPF剪切控件,c#,wpf,wpf-controls,C#,Wpf,Wpf Controls,我正在学习C#和WPF。我需要使用Viewport3DVisual3D控件在三维立方体(立方体在Viewport3D中定义)的面上放置一个带有一些图像的表单 我将Viewport3DVisual3D的Visual元素定义为网格。我定义的网格尺寸等于立方体面的尺寸。我将图像添加为网格的子对象: 如何将图像定位到网格上所需的(x,y)位置? 我尝试使用图像的边距适当性,例如: Image im = new Image(); im.Source = new Bitma

我正在学习C#和WPF。我需要使用
Viewport3DVisual3D
控件在三维立方体(立方体在
Viewport3D
中定义)的面上放置一个带有一些
图像的表单

我将
Viewport3DVisual3D
Visual
元素定义为
网格
。我定义的网格尺寸等于立方体面的尺寸。我将图像添加为网格的子对象:

如何将图像定位到网格上所需的(x,y)位置? 我尝试使用
图像的
边距
适当性,例如:

        Image im = new Image();
        im.Source = new BitmapImage(new Uri("panotec.png"));
        im.Width = 0.5;
        im.Margin = new Thickness(-6, -0.5, 0, 0);
但当图像从网格尺寸定义的区域中消失时,整个网格将被压缩以适合立方体的表面。如图所示:

我怎样才能预防它?我希望控件外部的部分被裁剪。可能吗


提前感谢。

答案非常简单:

myGrid.ClipToBounds = true;
也从
网格
移动到
画布
,以便更好地定位图像:

Canvas myCanvas = new Canvas();
Image im = new Image(...);
Canvas.SetTop(im, top);
Canvas.SetLeft(im, left);
myCanvas.Children.Add(im);

你应该接受你的回答作为回答:)它帮助了我,谢谢