代码之家  ›  专栏  ›  技术社区  ›  Bryan Anderson

如何在xaml中复制WPF资源?

  •  4
  • Bryan Anderson  · 技术社区  · 17 年前

    <ResourceCopy x:key="MouseOverBackgroundBrush" Value="{StaticResource ForegroundColor}" />
    

    在Xaml中有没有更好的方法来实现这一点?

    2 回复  |  直到 17 年前
        1
  •  3
  •   Amanda Mitchell    17 年前

    这是一个在XAML中没有很好支持的特性。我相信你要么需要重复你自己(并且在你需要改变画笔的任何时候改变这两个位置) 如果您不介意代码落后一点,您可以这样完成复制:

    Resources["MouseOverBackgroundBrush"] = Resources["ForegroundColor"];
    
        2
  •  1
  •   cplotts    17 年前

    我不知道如何在xaml中复制资源(甚至可以做到吗?)。。。但这里有一种方法可以完成你想要做的事情:

    <Color x:Key="firstColor">#FFD97A7A</Color>
    <Color x:Key="secondColor">#FFF4BFBF</Color>
    <LinearGradientBrush x:Key="firstGradientBrush" EndPoint="0.5,1" StartPoint="0.5,0">
        <GradientStop Color="{DynamicResource firstColor}" Offset="0"/>
        <GradientStop Color="{DynamicResource secondColor}" Offset="1"/>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="secondGradientBrush" EndPoint="0.5,1" StartPoint="0.5,0">
        <GradientStop Color="{DynamicResource firstColor}" Offset="0"/>
        <GradientStop Color="{DynamicResource secondColor}" Offset="1"/>
    </LinearGradientBrush>
    

    推荐文章