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));  
    }
    道虽迩,不行不至;事虽小,不为不成。
  • 相关阅读:
    关于控制地址控件的代码
    获取某个设计项列表界面上查询框中的值的代码
    js中不同值的替换
    js截取字符串方法实例
    抛异常语句的种类及区别
    从获取结果中去除重复记录
    泛微E8升级E9代码修改
    中控考勤数据转换
    WEB打印,分页首行自动带出栏目标题
    VS附加进程调试IIS网站
  • 原文地址:https://www.cnblogs.com/LeeMacrofeng/p/8854233.html
Copyright © 2011-2022 走看看