Wpf - 剪切边角(狗耳朵)

时间:2013-11-10 15:14:59

标签: wpf styles

我需要在窗户的角落创建狗耳朵:

enter image description here

我把耳朵剪掉了,但我无法弄清楚如何让它透明。

XAML:

      <Border Background="#5486A5">
            <Border.Clip>
                <GeometryGroup>
                    <RectangleGeometry>
                        <RectangleGeometry.Rect>
                            <MultiBinding Converter="{StaticResource rectConverter}">
                                <Binding Path="ActualWidth" RelativeSource="{RelativeSource AncestorType={x:Type Border}}" />
                                <Binding Path="ActualHeight" RelativeSource="{RelativeSource AncestorType={x:Type Border}}" />
                            </MultiBinding>
                        </RectangleGeometry.Rect>
                    </RectangleGeometry>

                    <PathGeometry>
                        <PathGeometry.Figures>
                            <PathFigure StartPoint="0,0">
                                <LineSegment Point="50,0"/>
                                <LineSegment Point="0,50"/>
                            </PathFigure>
                        </PathGeometry.Figures>
                    </PathGeometry>
                </GeometryGroup>
            </Border.Clip>

这是以下显示的结果:

enter image description here

好的,首先有任何想法如何使剪裁部分透明?

其次,关于如何实现折叠部分的任何建议,

第三,关于如何创建DropShadow看起来像这样的任何建议,我现在正在使用 该屏幕的对话窗口,但我愿意为DropShadow外观妥协并使用类似弹出窗口的东西。

在此先感谢,我没有任何设计师经验,任何帮助将是最受赞赏的。

1 个答案:

答案 0 :(得分:1)

我发现您发布的代码在裁剪的角落后面已经是透明的。确保此边框所在的控件没有将“背景”设置为白色。它应该是Background="Transparent"

对于折角,您可以像这样绘制:

<Polyline Fill="Red">
    <Polyline.Points>
        <PointCollection>
            <Point X="50" Y="0" />
            <Point X="0" Y="50" />
            <Point X="50" Y="50" />
        </PointCollection>
    </Polyline.Points>
</Polyline>