WPF。 GeometryDrawing 的 Brush 总是只有 Transparent

WPF. GeometryDrawing's Brush is always only Transparent

这是一个测试应用程序,仅在 window 中显示 阴影线 椭圆。不管我怎么写,椭圆的背景都是透明的;不是我设置 GeometryDrawing 的颜色。我很难过。生成的图片将椭圆的背景显示为透明,而本应为绿色。

<Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:local="clr-namespace:WpfApp2"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        Title="MainWindow"
        Background="Red"
        mc:Ignorable="d">
   <Window.Resources>
      <ResourceDictionary>
         <DrawingBrush x:Key="HatchBrush"
                       Stretch="UniformToFill"
                       TileMode="Tile"
                       Viewbox="0 0 10 10"
                       ViewboxUnits="Absolute"
                       Viewport="0 0 10 10"
                       ViewportUnits="Absolute">
            <DrawingBrush.Drawing>
               <GeometryDrawing Brush="Green">
                  <GeometryDrawing.Geometry>
                     <GeometryGroup>
                        <LineGeometry StartPoint="0 0"
                                      EndPoint="10 0" />
                        <LineGeometry StartPoint="0 0"
                                      EndPoint="0 10" />
                     </GeometryGroup>
                  </GeometryDrawing.Geometry>
                  <GeometryDrawing.Pen>
                     <Pen Brush="Yellow"
                          EndLineCap="Square"
                          StartLineCap="Square"
                          Thickness="3" />
                  </GeometryDrawing.Pen>
               </GeometryDrawing>
            </DrawingBrush.Drawing>
         </DrawingBrush>
       </ResourceDictionary>
   </Window.Resources>
   <Grid Margin="5"
         HorizontalAlignment="Stretch"
         VerticalAlignment="Stretch">
      <Ellipse x:Name="c_Ellipse"
               HorizontalAlignment="Stretch"
               VerticalAlignment="Stretch"
               Fill="{StaticResource HatchBrush}"
               Stroke="Black" />
   </Grid>
</Window>

这是我得到的:

椭圆的背景应该是绿色:

<GeometryDrawing Brush="Green">

没有使用 GeometryDrawing 的 Brush.

filled 几何图形

您可以使用一个 RectangleGeometry 而不是两个 LineGeometries:

<GeometryDrawing Brush="Green">
    <GeometryDrawing.Geometry>
        <RectangleGeometry Rect="0,0,10,10"/>
    </GeometryDrawing.Geometry>
    <GeometryDrawing.Pen>
        <Pen Brush="Yellow" Thickness="1.5"/>
    </GeometryDrawing.Pen>
</GeometryDrawing>