0

这是我的 xaml 的一个非常简化的版本:

<Path>
  <Path.Data>
    <GeometryGroup>
      <EllipseGeometry/>
      <EllipseGeometry/>
    </GeometryGroup>
   </Path.Data>  
</Path>

我希望第一个EllipseGeometry被填满,但不是第二个。但是该Fill属性是在Path' 级别定义的。

我可以定义两个Paths,每个都包含一个,EllipseGeometry但我希望它们共享路径的Stroke. 的Path笔划将被触发器修改,所以我不能使用StaticResource. 我也不想复制触发器。

4

1 回答 1

0

您可以在共享样式中定义笔触并使用两个路径:

    <Canvas>
        <Canvas.Resources>
            <Style TargetType="Path">
                <Style.Triggers>
                    <DataTrigger>
                        <Setter Property="Stroke" Value="AliceBlue" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Canvas.Resources>
        <Path Fill="Green">
            <Path.Data>
                <EllipseGeometry />
            </Path.Data>
        </Path>
        <Path Fill="Red">
            <Path.Data>
                <EllipseGeometry />
            </Path.Data>
        </Path>
    </Canvas>

这样,您可以在一个地方定义笔触和分别定义填充。当然,您不必使用画布作为容器。

干杯,埃里克

于 2013-10-18T14:10:33.400 回答