在WPF中将包含内容的元素存储在静态资源中

时间:2017-05-16 03:08:38

标签: c# wpf xaml

所以我想在多个地方使用这个边框,但我不想多次复制/粘贴它。我如何在<Window.Resources>中定义它,以便我可以引用它?

    <Border BorderThickness="0,0,0,1.5" Margin="5" Padding="0">
        <Border.BorderBrush>
            <LinearGradientBrush StartPoint="0,1" EndPoint="1,0" Opacity="0.7">
                <GradientStop Offset="0.2" Color="Black"/>
                <GradientStop Offset="0.5" Color="White"/>
                <GradientStop Offset="0.8" Color="Black"/>
            </LinearGradientBrush>
        </Border.BorderBrush>
    </Border>

感谢您的帮助......

1 个答案:

答案 0 :(得分:4)

在参考资料中,您可以保留样式,并可以将该样式应用于窗口/用户控件中的任何控件。所以你可以做到

<Style x:Key="BorderStyle" TargetType="{x:Type Border}">
    <Setter Property="BorderThickness" Value="0,0,0,1.5" />
    <Setter Property="Margin" Value="5" />
    <Setter Property="Padding" Value="0" />
    <Setter Property="BorderBrush">
        <Setter.Value>
            <LinearGradientBrush StartPoint="0,1" EndPoint="1,0" Opacity="0.7">
                <GradientStop Offset="0.2" Color="Black"/>
                <GradientStop Offset="0.5" Color="White"/>
                <GradientStop Offset="0.8" Color="Black"/>
            </LinearGradientBrush>
        </Setter.Value>
    </Setter>
</Style>

可以像

一样使用它
<Border Style="{StaticResource BorderStyle}" />