WPF隐藏矩形两条边

有时候我们需要画这么一个罐子,很简单用两个半椭圆和一个矩形就能拼凑出来,但是一般中间都会有两条横线。
在这里插入图片描述
因为要用到画刷填充效果,Brush对直线是没有用的,所以用两个半椭圆和两条线虽然能实现上面的显示,但是实现不了填充。

于是……
博主就画了两个一模一样的Path,坐标那些都一样,只不过一个中间是用的Rect,然后边框线设置成0,另一个用line画两条竖线,边框设置成3(可以看到边框),然后填充设置成透明色,这样叠加起来就可以看到没有中间两条横线的边框,和一个没有边框却可以填充的罐子了。

<Path  Stroke="Black" StrokeThickness="0" Stretch="Fill" Margin="779.125,226.75,0,0" Name="pathOverflow"
                   	Width="156.875" Height="97" HorizontalAlignment="Left"  VerticalAlignment="Top">
                <Path.Data>
                    <GeometryGroup>
                        <PathGeometry Figures="M 0,100 A 100,50 0 1 1 200,100" />
                        <RectangleGeometry Rect="0,100,200,100"/>
                        <PathGeometry Figures="M 0,200 A 100,50 0 1 0 200,200" />
                    </GeometryGroup>
                </Path.Data>
                <Path.Fill>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                        <GradientStop Color="White" />
                        <GradientStop Color="White" Offset="0.657"/>
                    </LinearGradientBrush>
                </Path.Fill>
            </Path>


            <Path  Stroke="Black" StrokeThickness="3" Stretch="Fill" Margin="779.125,226.75,0,0" Name="pathOverflowOutline"
                   	Width="156.875" Height="97" HorizontalAlignment="Left"  VerticalAlignment="Top">
                <Path.Data>
                    <GeometryGroup>
                        <PathGeometry Figures="M 0,100 A 100,50 0 1 1 200,100" />
                        <PathGeometry Figures="M 0,200 A 100,50 0 1 0 200,200" />
                        <LineGeometry  StartPoint="0,100" EndPoint="0,200"/>
                        <LineGeometry  StartPoint="200,100" EndPoint="200,200"/>
                    </GeometryGroup>
                </Path.Data>
                <Path.Fill>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                        <GradientStop Color="Transparent" />
                    </LinearGradientBrush>
                </Path.Fill>
            </Path>
WPF 圆角矩形展开折叠是指在使用 WPF(Windows Presentation Foundation)技术开发界面时,使用圆角矩形元素进行展开和折叠效果的实现。 首先,圆角矩形是一种特殊形状的矩形,其四个角都是圆角的,通过设置它的 CornerRadius 属性来实现。在 WPF 中,可以使用 Border、Rectangle 或其他自定义控件来创建圆角矩形。 要实现圆角矩形的展开折叠效果,可以使用 VisualStateManager 的 VisualStateGroup 和 VisualState 来定义不同状态下的外观和行为。可以创建两个不同的 VisualState,比如 Expanded(展开)和 Collapsed(折叠),分别对应圆角矩形的展开和折叠状态。在这两个 VisualState 中,可以设置圆角矩形的不同属性,如宽度、高度、颜色以及 CornerRadius。 接着,可以使用触发器 Trigger 来触发状态的切换。在 WPF 中,可以使用属性触发器 PropertyTrigger 或事件触发器 EventTrigger。可以在展开和折叠操作对应的事件中,设置 VisualStateGroup 的 CurrentState 属性来切换状态。比如,在点击一个按钮时触发的事件中,可以判断当前状态是展开还是折叠,然后通过修改 VisualStateGroup 的 CurrentState 进行状态切换。 最后,在 XAML 文件中,可以将圆角矩形和触发器定义在控件的模板或样式中,以实现对整个界面或特定控件的展开折叠效果。在定义的样式或模板中,可以设置触发器、VisualStateException 和圆角矩形的属性,使其满足展开和折叠的需求。 总之,使用 WPF 技术开发界面时,可以通过定义圆角矩形的展开和折叠状态、设置触发器以及修改相关属性来实现圆角矩形的展开折叠效果。通过这种方式,可以为界面添加更多的交互性和美观性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值