zoukankan      html  css  js  c++  java
  • wpf 中关于Image中样式Style的一点总结

     第一种写法:

    (1):定义样式

     <Style x:Key="imgStyle" TargetType="Image">  : <!-- TargetType="Image":表示当前的样式作用到Image对象上-->
                            <Setter Property="Source" Value="{StaticResource ResourceKey=RedLamp_Inactive}"/>
                            <Style.Triggers>
                                <Trigger Property="IsMouseOver" Value="True">
                                    <Setter Property="Source" Value="{StaticResource ResourceKey=RedLamp_Active}"/>
                                </Trigger>
                                <DataTrigger Binding="{Binding Path=IsPendingAlarmChecked}" Value="True">
                                    <Setter Property="Source" Value="{StaticResource ResourceKey=RedLamp_Active}"/>
                                </DataTrigger>
                            </Style.Triggers>
    </Style>

    2:引用样式

    <Image x:Name="img_Red" Margin="20,0,0,0"  HorizontalAlignment="Left" VerticalAlignment="Center" Stretch="None" ToolTip="未处理" Style={ StaticResource  ResourceKey=imgStyle}/>

    第二种写法:

    <Image x:Name="img_Red" Margin="20,0,0,0"  HorizontalAlignment="Left" VerticalAlignment="Center" Stretch="None" ToolTip="未处理" Cursor="Hand">
                    <Image.Style>
                        <Style TargetType="Image">
                            <Setter Property="Source" Value="{StaticResource ResourceKey=RedLamp_Inactive}"/>
                            <Style.Triggers>
                                <Trigger Property="IsMouseOver" Value="True">
                                    <Setter Property="Source" Value="{StaticResource ResourceKey=RedLamp_Active}"/>
                                </Trigger>
                                <DataTrigger Binding="{Binding Path=IsPendingAlarmChecked}" Value="True">
                                    <Setter Property="Source" Value="{StaticResource ResourceKey=RedLamp_Active}"/>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </Image.Style>
    </Image>

    说明如下:

    Source的属性值应该为“ImageSource 或 ImageSource的派生子类的实例”

    即Value = 应该为“ImageSource 或 ImageSource的派生子类的实例”

    Value="{StaticResource ResourceKey=RedLamp_Active}":把由“RedLamp_Active”关键字所代表的“BitmapImage”实例赋值给Value


    <Setter Property="Source" Value="{StaticResource ResourceKey=RedLamp_Active}"/>

    Setter:设置器
    Property:用来指定“某一个”属性
    Value:用来设置“某个”属性的值

    {StaticResource ResourceKey=RedLamp_Inactive} : 这个整体表示一个key是“RedLamp_Inactive”的静态资源,在这里,该静态资源是一个BitMapImage实例(该实例可能来自本页面的“Resources”,也可能来自外部的“资源字典”


    StaticResource:静态资源只从资源集合中一次获取资源

  • 相关阅读:
    tomcat架构分析和源码解读
    时代和命运,选择和放弃
    Python中的test测试
    python装饰器语法
    网上传言:程序员 = 宅男,程序员真的都宅吗?现实情况是这样!
    编程初学者,哪几种编程语言最值得你去学习?其实你应该这样做!
    C/C++编程笔记:《C语言》—— 数组知识详解,学编程建议收藏!
    细数程序员 10 种“辛酸与无奈”,程序员网友直言:这也太真实了!
    程序人生丨程序员的发展之路,怎样的发展决定你拥有怎样的薪资!
    程序人生丨提问环节面试官让程序员提问,五个程序员问这些,直接录取!
  • 原文地址:https://www.cnblogs.com/changbaishan/p/3487825.html
Copyright © 2011-2022 走看看