如何使用转换网格单元格的不同子项同步更改大小?

时间:2015-03-08 12:01:10

标签: c# wpf transform

在一个网格单元格中有两个元素,当我对网格使用布局转换时,仅转换墨迹画布并且图像根本不会更改。当我使用缩放变换而不是布局时,它们都会改变,但问题是它会溢出滚动查看器。 C#:

private void editor_mouseWheel(Object sender , MouseWheelEventArgs e)
{
   Matrix m = grid.LayoutTransform.Value;
   if (e.Delta > 0)
      grid.ScaleAtPrepend(1.1,1.1,0,0);
   else
      grid.ScaleAtPrepend(1/1.1,1/1.1,0,0);
   grid.LayoutTransform = new MatrixTransform(m) ;
   grid.UpdateLayout();
}

和XAML:

<ScrollViewer>
 <Grid Name="grid" />
  <Image Name="img" RenderTransformOrigin="0,0" />
  <InkCanvas Name="editor" Background="Transparent" />
 </Grid>
</ScrollViewer>

1 个答案:

答案 0 :(得分:1)

LayoutTransform确实会影响Image控件。但是,默认情况下,Image控件会拉伸其图像以适合其边界。

您可以将Stretch属性设置为None

<Grid Name="grid">
    <Image Name="img" Stretch="None" />
    <InkCanvas Name="editor" Background="Transparent" />
</Grid>