zoukankan      html  css  js  c++  java
  • 资源

    资源

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

      下面的示例在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标记扩展。

     

      

  • 相关阅读:
    C#遍历List并删除某个或者几个元素的方法
    7月清北学堂培训 Day 4
    7月清北学堂培训 Day 3
    7月清北学堂培训 Day 2
    7月清北学堂培训 Day 1
    P1383 高级打字机
    P2401 不等数列
    P1412 经营与开发
    P1314 聪明的质监员
    2019.7.9 校内测试 T3 15数码问题
  • 原文地址:https://www.cnblogs.com/hdsong/p/5062182.html
Copyright © 2011-2022 走看看