裁剪 WPF 控件

Posted

技术标签:

【中文标题】裁剪 WPF 控件【英文标题】:Crop WPF control 【发布时间】:2017-04-12 14:32:11 【问题描述】:

我必须裁剪一些控件以仅显示其中的一半,但其余部分应该是透明且可点击的,因此仅用某些东西覆盖控件是不够的。结果应该给出一个只有一半内容的控件(例如顶部的 50%),其余的应该被裁剪(不隐藏),所以下面的一些其他控件应该是可见的,并且不会被裁剪的部分重叠。缩放窗口时,新控件也应该缩放。如何在 WPF 中做到这一点?

【问题讨论】:

【参考方案1】:

我终于完成了在控件周围使用 Border 的技巧,并且将此边框的 Clip 属性设置为 Multibinging,它根据我的控件的 ActualWidth 和 ActualHeight 生成 Rectangle

【讨论】:

【参考方案2】:

也许是 GridSplitter:

http://www.wpf-tutorial.com/panels/gridsplitter/

可用于水平/垂直拆分视图,并且可以响应。

【讨论】:

这不是我要找的 - 我已将图像添加到原始帖子 你是说网格?用 Grid 包装它们? 没有网格,gridsplitter 没有帮助。我正在寻找的裁剪应该剪切控件的内容并始终显示它的上部。 Grid 负责布局元素而不是剪切它们。 也许 OpacityMask 在顶部控件上? msdn.microsoft.com/en-us/library/ms743320(v=vs.110).aspx 我已经尝试过了,但是即使我将鼠标悬停在透明区域上,鼠标悬停的控件仍然会被激活

以上是关于裁剪 WPF 控件的主要内容,如果未能解决你的问题,请参考以下文章

WPF应用中对WindowsFormHost内容进行裁剪

在特定阈值下调整 wpf 控件大小时出现不希望的剪辑

WPF 裁剪问题

WPF -- 窗口Clip+Effect效果

基于PhotoView的头像/圆形裁剪控件

wpf中我想在WebBrowser控件上放置一个Border控件