2009-09-25 33 views
1

我试图提取一组图片在WPF的Image,可能关闭从左上角,但无论我做什么,无论是Image,则DrawingImageDrawingGroup正在导致最接近左上角的图像默认为图像的左上角。DrawingImage总是拿在左上角,无论坐标提供

下面的代码:

XAML:

<Canvas Grid.Column="1" Name="Canvas"> 
    <Image Name="imgLevel"> 
     <Image.Source> 
      <DrawingImage> 
       <DrawingImage.Drawing> 
         <DrawingGroup> 
          <ImageDrawing Rect="120, 120, 100, 100" ImageSource="" /> 
          <ImageDrawing Rect="300, 300, 100, 100" ImageSource="" /> 
         </DrawingGroup> 
       </DrawingImage.Drawing> 
      </DrawingImage> 
     </Image.Source> 
    </Image> 
</Canvas> 

不管我怎么设置的坐标为第一ImageDrawing,它总是在左上角。

有没有办法来覆盖这种行为?更重要的是,我最终希望能够为该Rect指定负数。这可能吗?

+0

所以,画布是导致移动到左上角,但在取出画布仍然有阶级的一个假设它更知道在哪里放置的图像,而且它让我把他们控制的范围之外。有什么建议么? – Jeff 2009-09-25 15:54:44

回答

1

是否有任何理由不能在Image控件上使用Canvas.Left和Canvas.Top附加属性?就像这样:

<Canvas Name="Canvas" Grid.Column="1"> 
    <Image Canvas.Left="-5" Canvas.Top="-10" Name="imgLevel"> 
     <Image.Source> 
     </Image.Source> 
    </Image> 
</Canvas> 
+0

最终,我希望有多个图像,当它们进入和离开边界时,这些图像将被添加到绘图组中。 – Jeff 2009-10-02 16:03:24

1

添加东西,这是位于绘图组你想要的左上角(例如RectangleGeometry覆盖你想整个区域,但有一个透明的刷子)。

然后当DrawingImage获得了整个集团的范围,将会被强制你的“隐形”的几何形状的至少大小。

0

这是我不清楚为什么,但将一个像素宽的矩形(使用不可见刷)到DrawingGroup起源解决了这个问题。在WPF中知道哪些规则管理此行为将是一件好事。

相关问题