WPF MVVM UserControl 的 i:Interaction.Triggers 应用

本例依赖文章 https://blog.csdn.net/Vblegend_2013/article/details/81634020

用户控件代码

        /// 
        /// 声明路由事件
        /// 参数:要注册的路由事件名称,路由事件的路由策略,事件处理程序的委托类型(可自定义),路由事件的所有者类类型
        /// 
        public static readonly RoutedEvent OnToolTipShowEvent = EventManager.RegisterRoutedEvent("OnToolTipShow", RoutingStrategy.Bubble, typeof(MyEventArgs), typeof(MyUserControl));
        /// 
        /// 处理各种路由事件的方法 
        /// 
        public event RoutedEventHandler OnToolTipShow
        {
            //将路由事件添加路由事件处理程序
            add { AddHandler(OnToolTipShowEvent, value,false); }
            //从路由事件处理程序中移除路由事件
            remove { RemoveHandler(OnToolTipShowEvent, value); }
        }

 MyEventArgs 必须继承 RoutedEventArgs

    public class MyEventArgs: RoutedEventArgs
    {
        ...你的事件参数
    }

用户控件中触发事件

            var param = new MyEventArgs();
            param.RoutedEvent = OnToolTipShowEvent;
            param.Source = this;
            this.RaiseEvent(param);

 

WPF绑定


    
                    
                        
                    
    

MVVM

        public IDefaultCommand OnToolTipShow
        {
            get
            {
                return new CallCommand((s, e) =>
                {

                }, (s, o) => { return true; });
            }
        }

 

 

你可能感兴趣的:(C#,界面相关)