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:静态资源只从资源集合中一次获取资源

  • 相关阅读:
    Java的三个基础排序算法(其余将在以后补充)
    Review PHP设计模式之——单例模式
    Mysql忘记密码,重新设置
    PHP加解密相关函数
    http返回状态代码及含义
    符合web标准的网页下拉菜单
    解决MySQL查询不区分大小写
    MYSQL Error 2006HY000:MySQL server has gone away的解决方案
    MySQL之count(*)与count(id)效率比较(转)
    如何让sudo命令不需要输入密码就可执行
  • 原文地址:https://www.cnblogs.com/changbaishan/p/3487825.html
Copyright © 2011-2022 走看看