美文网首页
WPF-Window数据回调

WPF-Window数据回调

作者: 写前端的大叔 | 来源:发表于2020-03-27 23:44 被阅读0次

在开发WPF应用的时候,经常会碰到这样的场景,点击主窗口上的某个按钮,将弹出一个子窗口,在子窗口中有输入框,输入完成后,然后再点击【确定】按钮,将输入框中的内容传递到主窗口。在iOS开发,这个也很常见,一般都是用delegate或者block进行回调。在WPF中也是一样的,可以用委托进行回调,从这可看出,技术是相通的。下面来看下在WPF中是怎么进行回调的。

委托delegate

C#中的Delegate类似于CC++ 中函数的指针。Delegate 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。Delegate特别用于实现事件和回调方法。所有的Delegate都派生自 System.Delegate 类。申明一个delegate如下所示:

public delegate void UpdateMainwindow(string Content);

事件event

delegate一般和event同时出现,通过事件来使用委托。创建一个event如下所示:

public event UpdateMainwindow updateMainwindow;

调用委托

当在子视图点击某个按钮时,需要将一些信息传递到主界面时,需要在子视图中调用事件,如下所示:

private void Add_Button_Click(object sender, RoutedEventArgs e)
        {
            if (updateMainwindow != null)
            {
                updateMainwindow("WinAddPlaneLine");
            }
            this.Close();
        }

然后在主视图创建子窗口的时候,需要将子窗口的委托暴露给主窗口,如下所示:

WinAddField winAddField = new WinAddField();
winAddField.updateMainwindow += SubWindow_updateMainwindow;

private void SubWindow_updateMainwindow(string Content)
        {
            Message.show(Content);
        }

按以上步骤就可以完成数据回调了,使用的是伪代码,只是简单的介绍下委托和事件怎么用来处理数据回调。
个人博客

相关文章

  • WPF-Window数据回调

    在开发WPF应用的时候,经常会碰到这样的场景,点击主窗口上的某个按钮,将弹出一个子窗口,在子窗口中有输入框,输入完...

  • Android界面跳转到几种方式

    简单界面跳转 带数据传递的界面跳转 接收数据 带有回调的界面跳转 回调传递数据到上个界面 接收回调的数据

  • 回调钩子 && 数据持久化

    一,回调钩子 1,配置清单 2,启动回调钩子 3,结束回调钩子 二,数据持久化 类型 1,emptyDir - -...

  • 数据回调不能成功问题

    数据回调 注意 finish()不要忘了!!

  • 接口数据回调

    接口回调:1、定义接口2、在需要传输数据的类中定义接口变量3、在需要传输数据的位置用接口变量调用接口方法(先判断接...

  • promise

    回调嵌套 如果我们需要template中的数据,又需要data中的数据。 这样就会出现回调嵌套的问题。如果还有很...

  • 22.如何使用promise?

    promise作用:可以用来处理异步回调问题,分离原来的回调写法。在我们需要的时候再去拿数据,不用全部写在回调函数...

  • Callback、Promise、async/await

    一、Callback回调函数例子: callback函数应用举例: 就是通过callback回调函数来传回数据 缺...

  • 2018-03-27

    回调地狱,拼接3个请求的数据

  • vue 弹框

    数据互传 弹出状态检测 回调 list form dialog

网友评论

      本文标题:WPF-Window数据回调

      本文链接:https://www.haomeiwen.com/subject/bijduhtx.html