Wpf 转换在xaml中的GeometryDrawing中不起作用

Wpf 转换在xaml中的GeometryDrawing中不起作用,wpf,xaml,Wpf,Xaml,内部图标应该主导外部图标,但在这里,情况正好相反。我最初的猜测是转换不起作用,但进一步观察,我觉得代码编写正确。有人能指出这里的错误是什么吗?它正在工作,但你应该稍微调整一下。所以代码应该是这样的。此外,我还添加了用于缩放romb的代码 <Style x:Key="ICON" TargetType="Rectangle"> <Setter Property="Fill"> <Setter.Value> <DrawingBrush TileMo

内部图标应该主导外部图标,但在这里,情况正好相反。我最初的猜测是转换不起作用,但进一步观察,我觉得代码编写正确。有人能指出这里的错误是什么吗?

它正在工作,但你应该稍微调整一下。所以代码应该是这样的。此外,我还添加了用于缩放romb的代码

<Style x:Key="ICON" TargetType="Rectangle">
<Setter Property="Fill">
  <Setter.Value>
    <DrawingBrush TileMode="None">
      <DrawingBrush.Drawing>
        <DrawingGroup>
          <GeometryDrawing Brush="Gray" Geometry="F1M19.5625,0.999954C29.8144,0.999954 38.125,9.31053 38.125,19.5625 38.125,29.8142 29.8143,38.1249 19.5625,38.1249 9.31073,38.1249 1,29.8142 1,19.5625 1,9.31053 9.31064,0.999954 19.5625,0.999954z">
            <GeometryDrawing.Pen>
              <Pen DashCap="Square" EndLineCap="Flat" LineJoin="Round" MiterLimit="10" StartLineCap="Flat" Thickness="2">
                <Pen.Brush>
                  <LinearGradientBrush EndPoint="0.849422,0.849423" StartPoint="0.150577,0.150578">
                    <GradientStop Color="#FF657783" Offset="0"/>
                    <GradientStop Color="White" Offset="0.146"/>
                    <GradientStop Color="#FF2C4758" Offset="1"/>
                  </LinearGradientBrush>
                </Pen.Brush>
                <Pen.DashStyle>
                  <DashStyle/>
                </Pen.DashStyle>
              </Pen>
            </GeometryDrawing.Pen>
          </GeometryDrawing>

          <DrawingGroup>
            <GeometryDrawing Brush="Gray" Geometry="F1 M0,25 L25,50, 50,25 25,0z">
              <GeometryDrawing.Pen>
                <Pen DashCap="Triangle" EndLineCap="Flat" LineJoin="Bevel" MiterLimit="10" StartLineCap="Flat" Thickness="5">
                  <Pen.Brush>
                    <LinearGradientBrush>
                      <GradientStop Color="#FF657783" Offset="0"/>
                      <GradientStop Color="White" Offset="0.5"/>
                      <GradientStop Color="#FF2C4758" Offset="1"/>
                    </LinearGradientBrush>
                  </Pen.Brush>
                  <Pen.DashStyle>
                    <DashStyle/>
                  </Pen.DashStyle>
                </Pen>
              </GeometryDrawing.Pen>
            </GeometryDrawing>

            <DrawingGroup.Transform>
              <TranslateTransform X="0.2" Y="0.2" />
            </DrawingGroup.Transform>
          </DrawingGroup>
        </DrawingBrush.Drawing>
      </DrawingBrush>
    </Setter.Value>
  </Setter>
</Style>

它正在工作,但您应该稍微调整一下它的属性。所以代码应该是这样的。此外,我还添加了用于缩放romb的代码

<Style x:Key="ICON" TargetType="Rectangle">
<Setter Property="Fill">
  <Setter.Value>
    <DrawingBrush TileMode="None">
      <DrawingBrush.Drawing>
        <DrawingGroup>
          <GeometryDrawing Brush="Gray" Geometry="F1M19.5625,0.999954C29.8144,0.999954 38.125,9.31053 38.125,19.5625 38.125,29.8142 29.8143,38.1249 19.5625,38.1249 9.31073,38.1249 1,29.8142 1,19.5625 1,9.31053 9.31064,0.999954 19.5625,0.999954z">
            <GeometryDrawing.Pen>
              <Pen DashCap="Square" EndLineCap="Flat" LineJoin="Round" MiterLimit="10" StartLineCap="Flat" Thickness="2">
                <Pen.Brush>
                  <LinearGradientBrush EndPoint="0.849422,0.849423" StartPoint="0.150577,0.150578">
                    <GradientStop Color="#FF657783" Offset="0"/>
                    <GradientStop Color="White" Offset="0.146"/>
                    <GradientStop Color="#FF2C4758" Offset="1"/>
                  </LinearGradientBrush>
                </Pen.Brush>
                <Pen.DashStyle>
                  <DashStyle/>
                </Pen.DashStyle>
              </Pen>
            </GeometryDrawing.Pen>
          </GeometryDrawing>

          <DrawingGroup>
            <GeometryDrawing Brush="Gray" Geometry="F1 M0,25 L25,50, 50,25 25,0z">
              <GeometryDrawing.Pen>
                <Pen DashCap="Triangle" EndLineCap="Flat" LineJoin="Bevel" MiterLimit="10" StartLineCap="Flat" Thickness="5">
                  <Pen.Brush>
                    <LinearGradientBrush>
                      <GradientStop Color="#FF657783" Offset="0"/>
                      <GradientStop Color="White" Offset="0.5"/>
                      <GradientStop Color="#FF2C4758" Offset="1"/>
                    </LinearGradientBrush>
                  </Pen.Brush>
                  <Pen.DashStyle>
                    <DashStyle/>
                  </Pen.DashStyle>
                </Pen>
              </GeometryDrawing.Pen>
            </GeometryDrawing>

            <DrawingGroup.Transform>
              <TranslateTransform X="0.2" Y="0.2" />
            </DrawingGroup.Transform>
          </DrawingGroup>
        </DrawingBrush.Drawing>
      </DrawingBrush>
    </Setter.Value>
  </Setter>
</Style>