zoukankan      html  css  js  c++  java
  • WPF 自定义图片按钮

    此文档仅仅是一个BaseCode,已做后续查阅

    XAML代码:

    <Button x:Class="IM.UI.UC.IM_ImageButton"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Name="loc">
        <Image Name="innerImage" Stretch="None" Source="{Binding Path=ImageSourceEx,ElementName=loc}" />
    </Button>
    View Code

    CS代码:

     public IM_ImageButton()
            {
                InitializeComponent();
                FrameworkElement.DefaultStyleKeyProperty.OverrideMetadata(typeof(IM_ImageButton), new FrameworkPropertyMetadata(typeof(Button)));
                this.IsEnabledChanged += new DependencyPropertyChangedEventHandler(ImageButton_IsEnabledChanged);
            }
            public ImageSource GrayImageSourceEx
            {
                get { return (ImageSource)GetValue(GrayImageSourceExProperty); }
                set { SetValue(GrayImageSourceExProperty, value); }
            }
            public static readonly DependencyProperty GrayImageSourceExProperty =
                DependencyProperty.Register("GrayImageSourceEx", typeof(ImageSource), typeof(IM_ImageButton), new UIPropertyMetadata(null));
            public ImageSource ImageSourceEx
            {
                get { return (ImageSource)GetValue(ImageSourceExProperty); }
                set { SetValue(ImageSourceExProperty, value); }
            }
            public static readonly DependencyProperty ImageSourceExProperty =
                DependencyProperty.Register("ImageSourceEx", typeof(ImageSource), typeof(IM_ImageButton), new UIPropertyMetadata(null));
    
            //当前按钮显示状态被禁用或启用
            protected void ImageButton_IsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
            {
                if (this.IsEnabled && (this.ImageSourceEx != null))
                {
                    this.innerImage.Source = this.ImageSourceEx;
                }
                else if (!(this.IsEnabled || (this.GrayImageSourceEx == null)))
                {
                    this.innerImage.Source = this.GrayImageSourceEx;
                }
    
            }
    View Code
  • 相关阅读:
    如何使用GOOGLE高级搜索技巧
    你所认为的极限,可能只是别人眼中的起点
    飞机选座——附:东航320选坐攻略
    古诗词里,从初识到相爱到分离到重逢的漫长过程
    从零开始学摄影
    Python之运维
    Linux用户和组密令大全
    centos7 下安装生物信息软件的问题小总结
    VMware锁定文件失败开启模块diskearly的操作失败未能启动虚拟机
    linux 基本命令整理--转
  • 原文地址:https://www.cnblogs.com/xhh-lite/p/3318817.html
Copyright © 2011-2022 走看看