zoukankan      html  css  js  c++  java
  • WPF窗口和用户控件事件相互触发

      问题1:

      WPF项目里有一个窗口和一个用户控件,窗口和用户控件里都有一个Button,点击窗口里的Button如何触发用户控件里Button的Click事件

      解答:

    //窗口代码
     public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                contentControl1.Content = new UserControl1();
            }
    
            private void 窗口Button_Click(object sender, RoutedEventArgs e)
            {
               //如何触发 用户控件Button_Click
                var v = contentControl1.Content as UserControl1;
                v.DoSomethings();
            }
        }            

      

    //用户控件代码
    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }
    
        private void 用户控件Button_Click(object sender, RoutedEventArgs e)
        {
            DoSomethings();
        }
    
        public void DoSomethings()
        {
            用户控件Button.Content = "Hello World";
        }
    }

      

      问题2:

      WPF项目里有一个窗口和一个用户控件,窗口和用户控件里都有一个Button,点击用户控件里的Button如何触发窗体里Button的Click事件

      

      解答:

    //用户控件代码
    private void 用户控件Button_Click(object sender, RoutedEventArgs e)
    {
        var w = Window.GetWindow(用户控件Button);   // 获取当前窗体
        var b = w.FindName("okButton") as Button;   //  找到当前窗体上的 okButton
        b.RaiseEvent(new RoutedEventArgs(e.RoutedEvent));  
    }
    道虽迩,不行不至;事虽小,不为不成。
  • 相关阅读:
    linux设置定时任务的方法(自己总结)
    SecureCRT上传和下载文件
    ajax上传文件类型
    分页业务逻辑
    $.load
    数组中多条对象去重方式
    jquery cookie
    鼠标滚轮事件(浏览器兼容性写法)
    用cookie保存用户的登录信息,规定保存的期限
    获取url参数值
  • 原文地址:https://www.cnblogs.com/LeeMacrofeng/p/8854233.html
Copyright © 2011-2022 走看看