Я пытаюсь создать красный круг с черным х через него, используя XAML.
Моя проблема в том, что они не выровнены правильно.
Как правильно это сделать?
Это то, что у меня так далеко:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Image>
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup>
<GeometryDrawing Brush="Red">
<GeometryDrawing.Pen>
<Pen Brush="Transparent" Thickness="0"/>
</GeometryDrawing.Pen>
<GeometryDrawing.Geometry>
<EllipseGeometry Center="8,8" RadiusX="8" RadiusY="8"/>
</GeometryDrawing.Geometry>
</GeometryDrawing>
<GeometryDrawing>
<GeometryDrawing.Pen>
<Pen Brush="Black" Thickness="2.5"/>
</GeometryDrawing.Pen>
<GeometryDrawing.Geometry>
<PathGeometry>
<PathFigure StartPoint="4,4">
<LineSegment Point="12,12"/>
</PathFigure>
<PathFigure StartPoint="4,12">
<LineSegment Point="12,4"/>
</PathFigure>
</PathGeometry>
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Grid>
Просто поместив эллипс в ту же сетку с черным Х, Х не совсем центрирован по эллипсу, потому что координаты каждой нарисованной линии - это действительно координаты в пределах пространства, отведенного для этого.
Я думаю, что они должны быть в какой-то геометрии или в наборе рисунков, чтобы дать им одинаковую систему координат. Геометрическая группа и путь являются агрегаторами, но оба требуют, чтобы их содержимое имело одинаковую заливку и обводку, а обводка и заливка различны для красного круга (без обводки) и черного X (без заполнения).
Единственный агрегатор, который дает общие системы координат и допускает различные заливки и обводки для его элементов, которые я мог найти, был DrawingGroup.
Ярлыки строк, которые работают для создания Path с помощью его свойства Data, похоже, не работают для создания PathGeometry, поэтому все они должны быть заполнены вручную.