2019-7-29-WPF-元素裁剪-Clip-属性
2023-09-27 14:28:53 时间
title | author | date | CreateTime | categories |
---|---|---|---|---|
WPF 元素裁剪 Clip 属性 |
lindexi |
2019-7-29 10:0:13 +0800 |
2019-1-3 15:57:0 +0800 |
WPF |
本文介绍如何在 WPF 使用 Clip 裁剪元素
在 WPF 的 UIElement 提供了 Clip 属性,这个属性默认是空,但是如果设置了这个属性就会对元素进行裁剪
这个属性是一个 Geometry 属性,设置的值表示裁剪之后剩下的部分,如写一个简单的类继承 UIElement 然后对他进行裁剪
class SisdecereYipuVayderyecallMawqere : UIElement
{
/// <inheritdoc />
public SisdecereYipuVayderyecallMawqere()
{
}
/// <inheritdoc />
protected override void OnRender(DrawingContext drawingContext)
{
drawingContext.DrawRectangle(Brushes.Black,null,new Rect(10,10,100,100));
}
}
现在这个类会在 10,10 的坐标画出大小是 100 的矩形
对他裁剪,设置裁剪的是矩形裁剪
public SisdecereYipuVayderyecallMawqere()
{
Clip = new RectangleGeometry(new Rect(30, 30, 50, 50));
}
从图片很难看出来不同,只是可以看到两个矩形,第一个矩形比较大
对他进行圆形裁剪
public SisdecereYipuVayderyecallMawqere()
{
Clip = new EllipseGeometry(new Point(30, 30), 10, 10);
}
可以看到显示的是圆形
因为设置 Clip 属性是一个裁剪的窗口,只有在裁剪区域之内才可以显示
因为 Geometry 是可以做到不连续的,所以可以做出部分的透明,如裁剪两个矩形
public SisdecereYipuVayderyecallMawqere()
{
Geometry geometry = new RectangleGeometry(new Rect(10,10,10,10));
geometry = Geometry.Combine(geometry, new RectangleGeometry(new Rect(30, 30, 10, 10)),
GeometryCombineMode.Union, null);
Clip = geometry;
}
相关文章
- WPF入门教程系列四——Dispatcher介绍
- WPF子线程更新UI(Dispatcher.BeginInvoke)
- WPF快速入门系列(2)——深入解析依赖属性
- 一站式WPF--依赖属性(DependencyProperty)二
- wpf绑定元素属性
- (原创)2. WPF中的依赖属性之二
- WPF Telerik TreeListView样式设计
- WPF 依赖属性
- WPF 自定义ListBox
- WPF 已知问题 某些设备上的应用在 WindowChromeWorker 抛出 System.OverflowException 异常
- 记因为 NVIDIA 显驱错误而让 WPF 应用启动闪退问题
- WPF 引用第三方库的控件在设计器加上设计时数据和属性
- 2018-5-4-WPF-获得触摸精度和触摸点
- 2018-12-27-WPF-从-DrawingVisual-转-BitmapImage-图片
- 2018-11-13-WPF-禁用实时触摸
- WPF 元素裁剪 Clip 属性
- WPF DelegateCommand 出现Specified cast is not valid
- WPF checkbox文字下掉