6

有人知道从 Xaml 创建这个对象的好方法吗?当分层在其他控件之上时,它还必须在 0.5 不透明度下工作。

它还必须通过水平或垂直对齐来调整大小。

我遇到了一些困难。我得到的最接近的是 2 个边框,一个具有负边距 - 但应用 Opacity 时它不起作用。

有效的代码:

<Path Fill="Black">
    <Path.Data>
        <CombinedGeometry GeometryCombineMode="Exclude">
            <CombinedGeometry.Geometry1>
                <RectangleGeometry RadiusX="5" RadiusY="5" Rect="0,0,200,100" />
            </CombinedGeometry.Geometry1>
            <CombinedGeometry.Geometry2>
                <RectangleGeometry RadiusX="5" RadiusY="5" Rect="105,5,90,90" />
            </CombinedGeometry.Geometry2>
        </CombinedGeometry>
    </Path.Data>
</Path>
4

1 回答 1

6

使用带有 EvenOdd FillRule的GeometryGroup ,或带有 Xor 或 Exclude 的 GeometryCombineMode 的CombinedGeometry 。要组合的几何图形都是 RectangleGeometry 对象,具有适当的 RadiusX 和 RadiusY。结果将是内部矩形所在的外部矩形,其中有一个“孔”。(我认为这是您想要的,而不是黑色矩形中的白色矩形。)

然后,您可以将此复合几何体分配给 Path 作为其 Data 属性,并根据需要设置 Fill 和 Opacity。

于 2009-12-22T21:00:41.357 回答