我想在某些控件周围创建一个简单的边框来创建一个风格化的面板。我已经围绕一个控件创建了边框,但是现在我想要创建它,以便我可以在整个应用程序中的任何其他控件上重复使用它。我已经创建了一个用户控件来执行此操作,但我无法让用户控件调整大小到内容。有没有办法在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>
答案 0 :(得分:1)
如果我理解正确,并且边框没有提供任何功能值,那么它只是您想要应用于某些控件的视觉装饰,您可能需要考虑Adorner。
Adorner
的一个用途是将视觉叠加应用于UIElements
,这听起来像是你的目标。该MSDN文章还提供了一个示例,简单的搜索将产生大量自定义Adorner
示例。