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
  • 相关阅读:
    cmd开启3389,无需重启!
    x86的控制寄存器CR0,CR1,CR2,CR3
    x64下fs的角色已经换成了gs
    在win64里,只有一种调用约定
    fs寄存器
    【转】C++ 编译器的函数名修饰规则
    windbg ida需要symbols
    WIN7-X64内核模式下编程实现导出表列表查看
    VS2010+WDK配置要点
    比特币 —— 学习笔记(一)
  • 原文地址:https://www.cnblogs.com/xhh-lite/p/3318817.html
Copyright © 2011-2022 走看看