【问题标题】:WPF Creating a Custom Border around controlWPF 在控件周围创建自定义边框
【发布时间】:2013-07-29 13:54:00
【问题描述】:

我想在某些控件周围创建一个简单的边框来创建一个风格化的面板。我已经围绕一个控件创建了边框,但现在我想创建它以便可以在整个应用程序中的任何其他控件上重复使用它。我创建了一个用户控件来执行此操作,但我无法让用户控件调整内容的大小。有没有办法在 XAML 中做同样的事情,例如在 Resources.xaml 中使用 ControlTemplate?

<Border Background="LightGray" 
            BorderBrush="DarkGray" 
            BorderThickness="1" 
            ClipToBounds="True"
            Opacity="0.80">
        <Border Background="#25FFFFFF" 
                BorderBrush="Black" 
                BorderThickness="1" 
                Margin="-2">
            <Border.Effect>
                <DropShadowEffect ShadowDepth="0" BlurRadius="10"/>
            </Border.Effect><!--Any Control - Insert TextBlock, Button, ContentPresenter -->
     </Border>
    </Border>

【问题讨论】:

    标签: wpf user-controls controltemplate


    【解决方案1】:

    如果我理解正确,并且边框没有提供任何功能价值,它只是您想要应用于某些控件的视觉装饰,您可能需要考虑Adorner

    Adorner 的一个用途是将视觉覆盖应用于UIElements,这听起来像是您的目标。该 MSDN 文章还提供了一个示例,简单的搜索将产生大量自定义 Adorner 示例。

    【讨论】:

      猜你喜欢
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多