【问题标题】:Silverlight - Fill a Rectangle (or other controls which have a Brush Property) with a custom UserControlSilverlight - 使用自定义 UserControl 填充 Rectangle(或其他具有 Brush 属性的控件)
【发布时间】:2026-01-30 23:45:01
【问题描述】:

我需要用自定义 UserControl 填充一个 Rectangle。矩形的 .Fill 属性接受 Brush 并且在 Silverlight 中没有 VisualBrush 的等效项。

我发现这篇帖子 - http://chriscavanagh.wordpress.com/2009/09/24/silverlight-visualbrush-and-rounded-corners/ - 有一个可能的解决方案。但是,这种方法需要先在矩形外渲染 UserControl(将用于填充矩形),以便 VisualImage 可以将其转换为 WritableBitmapImage。

有人知道任何替代解决方案吗?我宁愿不必在矩形之外呈现用户控件并在之后将其删除,因为可能会发生一些 flickr。

感谢和最好的问候, 布鲁诺

【问题讨论】:

    标签: silverlight silverlight-4.0


    【解决方案1】:

    如果您必须使用矩形和画笔进行填充,则没有替代解决方案。

    我认为您已经有理由不直接使用包含UserControlBorder 吗?如果您不希望用户控件响应鼠标,您可以在 Border 中包含一个 Grid,其中包含您的 UserControl 和带有透明填充的 Rectangle

    【讨论】:

    • 为了解释问题,我使用了矩形。我在我的场景中真正使用的是 Telerik 的控件(MapPolygon),它使用画笔填充其内容,所以问题仍然是一样的!不过感谢您的帮助!
    最近更新 更多