如何调整几何体的大小,使其他部分在wpf中保持不变?

时间:2017-07-05 15:40:39

标签: wpf image canvas mvvm geometry

我处于一种情况,我必须调整具有路径

的几何体的大小
   viewModel.Shapes.Add(new ShapeDataModel
            {
                Type = "T-Type",
                Geometry = Geometry.Parse("M 0,0 H 600 V 200 H 375 V 600 H 225 V 200 H 0 V 0 Z"),  /path
                Width = 170, Height=300,

                //new RectangleGeometry(new Rect(200, 50, 50, 100)),
                Fill = Brushes.Yellow,
                Stroke = Brushes.DarkGreen,
                StrokeThickness = 2,
                Left=300,
                Top=200

            });

它在视图中绑定如下:

         <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <Path Data="{Binding Geometry}" 
                      Fill="{Binding Fill}"
                      Stroke="{Binding Stroke}"
                      StrokeThickness="{Binding StrokeThickness}"/>

                </DataTemplate>
            </ItemsControl.ItemTemplate>

使用此几何图形Geometry = Geometry.Parse(&#34; M 0,0 H 600 V 200 H 375 V 600 H 225 V 200 H 0 V 0 Z&#34;)。我使用这种几何形状得到了一个T形图像。

我能够调整它的大小。问题是我只想调整此图像的一部分(让我们说它应该只调整红色箭头方向覆盖的部分,从箭头方向底部的红色圆圈拖动)。让我们说T-Image的这个右上角像http://prntscr.com/frzgqf那样保留其他部分 部分常数。

如何调整几何体的大小以保持其他部分不变?