【问题标题】:Silverlight 4 Border ClippingSilverlight 4 边框剪裁
【发布时间】:2011-04-18 00:13:36
【问题描述】:

是否可以在 Silverlight 4 中创建一个带有圆角的边框来剪裁它的任何子 UI 元素?到目前为止,我已经尝试通过将按钮设置为边框控件的子元素来做到这一点,但是当我设置圆角半径以在边框中创建圆角时,按钮不会被剪裁。

【问题讨论】:

    标签: silverlight silverlight-4.0 clipping


    【解决方案1】:

    查看ClippingBehavior,它是 CodePlex 上 Expression Blend 示例的一部分。这是一种 Blend 行为,因此要添加它,您必须从 Blend SDK 中引用 System.Windows.Interactivity.dll 并将该行为放在 Blend 中的元素上或将其添加到 XAML:

    <UserControl x:Class="MyApplication.MainPage"
        ...other xmlns imports...
        xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
        xmlns:samples="clr-namespace:Expression.Samples.Interactivity;assembly=Expression.Samples.Interactivity"
        >
    
        <Border>
            <i:Interaction.Behaviors>
                <samples:ClippingBehavior CornerRadius="15"/>
            </i:Interaction.Behaviors>
            <!-- content to be clipped goes here -->
        </Border>
    </UserControl>
    

    这是一种向任何 UI 元素添加圆角/剪辑的简单且可重复使用的方法。

    【讨论】:

    • 与 XAML sn-ps 的常见情况一样,缺少导入,呈现可能是一个很好的答案,而不是那么好。
    • 更新了相关的 xmlns 导入,并修复了 Expression Blend 示例项目中 ClippingBehavior 源的链接。
    • 您确定您已将...内容...放在正确的位置吗?我收到编译器错误“Border”类型的值无法添加到“BehaviorCollection”类型的集合或字典中。如果我试图在剪裁内放置另一个边框。
    • @MaximV.Pavlov,我相信你是对的。我已经编辑了答案。
    • 嗨,我一直收到Error 1 A value of type 'ClippingBehavior' cannot be added to a collection or dictionary of type 'BehaviorCollection'. 我该怎么办?
    猜你喜欢
    • 2010-11-26
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多