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
  • 相关阅读:
    scrapy--Cookies
    python--signal
    python--redis
    TCP/IP 协议
    python--Wrapper
    python--inspect
    python--pexpect
    linux 特殊命令(一)
    day45 Pyhton 数据库Mysql 02
    day44 Pyhton 数据库Mysql
  • 原文地址:https://www.cnblogs.com/xhh-lite/p/3318817.html
Copyright © 2011-2022 走看看