次のような XAML ファイルがあります: (スニペット)
<DrawingGroup x:Name="DrawingLayer">
<DrawingGroup.ClipGeometry>
<RectangleGeometry Rect="0,0,540.866,507.982" />
</DrawingGroup.ClipGeometry>
<DrawingGroup>
<DrawingGroup x:Name="shape1_1" Transform="1,0,0,1,20.0093,-394.221">
<DrawingGroup x:Name="shadow1_2" Transform="1,0,0,1,0.3456,1.9728">
<GeometryDrawing>
<GeometryDrawing.Brush>
<SolidColorBrush Color="#FF5B9BD5" Opacity="0.22" />
</GeometryDrawing.Brush>
<GeometryDrawing.Pen>
<Pen Thickness="1" StartLineCap="Square" EndLineCap="Square" LineJoin="Miter">
<Pen.Brush>
<SolidColorBrush Color="#FF5B9BD5" Opacity="0.22" />
</Pen.Brush>
</Pen>
</GeometryDrawing.Pen>
<GeometryDrawing.Geometry>
<RectangleGeometry RadiusX="0" RadiusY="0" Rect="0,394.596,113.386,113.386" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingGroup>
<GeometryDrawing Brush="#FF5B9BD5">
<GeometryDrawing.Pen>
<Pen Brush="#FFC8C8C8" Thickness="0.25" StartLineCap="Square" EndLineCap="Square" LineJoin="Miter" />
</GeometryDrawing.Pen>
<GeometryDrawing.Geometry>
<RectangleGeometry RadiusX="0" RadiusY="0" Rect="0,394.596,113.386,113.386" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingGroup>
正しくフォーマットされませんでした。
そして、私は次のような XAML リーダーを使用しています。
StreamReader mysr = new StreamReader("C:\\Drawing Bath Convert\\Test with connectors.xaml");
DependencyObject rootObject = System.Windows.Markup.XamlReader.Load(mysr.BaseStream) as DependencyObject;
これは子を持つオブジェクトを返し、実行時に要素を作成するジオメトリに到達するために、子などを通過できます。
XAML DrawingGroup 内の各要素にアクセスするためのより効率的な方法があるかどうか疑問に思っていましたか?
感謝;