• 资源


    资源

      从样式示例可以看出,样式通常存储在资源中。可以在资源中定义任意元素,例如,前面从按钮的背景样式创建了笔刷,它本身就可以定义为一个资源,这样就可以在需要笔刷的地方使用它了。

      下面的示例在StackPanel资源中定义了LinearGradientBrush,它的键名是MyGradientBrush使用StaticResource标记扩展将Background属性赋予MyGradientBrush资源。

    <Window x:Class="样式模版和资源.资源"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="资源" Height="300" Width="300">
        <StackPanel>
            <StackPanel.Resources>
                <LinearGradientBrush x:Key="MyGradientBrush" StartPoint="0.5,0" EndPoint="0.5,1">
                        <GradientStop Offset="0.0" Color="LightCyan"/>
                        <GradientStop Offset="0.14" Color="Cyan"/>
                        <GradientStop Offset="0.7" Color="DarkCyan"/>
                </LinearGradientBrush>
            </StackPanel.Resources>
            <Button Name="button1" Width="200" Height="50" Foreground="White" Background="{StaticResource MyGradientBrush}">
                Click Me!
            </Button>
        </StackPanel>
    </Window>

      这里,资源用StackPanel定义。在上面的例子中, 资源用Window元素定义。基类FrameworkElement定义了ResourceDictionary类型的Resources属性。这就是资源可以用派生自FrameworkElement的所有类(任意WPF元素)来定义的原因。

      资源是按层次结构来搜索的。如果用Window元素定义资源,它就会应用于Window的所有子元素。如果Window包含一个Grid,该Grid包含一个StackPanel,资源是用于StackPanel定义的,该资源就会应用于StackPanel中的所有控件。如果StackPanel包含一个按钮,但只为该按钮定义了资源,这个样式就只对该按钮有效。

      1.系统资源

        还有许多系统级的颜色和字体资源,可用于所有应用程序。这些资源用SystemColors,SystemFonts和SystemParameters类定义。

       2.在代码中访问资源

        要在后台代码中访问资源,基类FrameworkElement实现了方法FindResource(),可以给每个WPF对象调用方法FindResource().

      3. 动态资源

        在StaticResource标记扩展中,资源是在加载期间搜索。如果在运行程序中改变了资源,就应使用DynamicResource标记扩展。

     

      

  • 相关阅读:
    Codeforces Round #481 (Div. 3) D. Almost Arithmetic Progression
    Codeforces Round #481 (Div. 3) G. Petya's Exams
    使用create-react-app 搭建react + ts + antd框架
    callback、promise和async、await的使用方法
    JS数组中Array.of()方法的使用
    react中替换关键字并且高亮显示的方法
    封装 jsonp请求数据的方法
    React的新特性 ---- Hooks ---- 的基本使用
    在canvas中使用其他HTML元素
    React的性能优化
  • 原文地址:https://www.cnblogs.com/hdsong/p/5062182.html
Copyright © 2020-2023  润新知