WPF 委托 事件 B窗体调用A窗体方法
Posted lonelyxmas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 委托 事件 B窗体调用A窗体方法相关的知识,希望对你有一定的参考价值。
原文:WPF 委托 事件 B窗体调用A窗体方法
具体实现 A窗体 中加载B窗体 B窗体触发A窗体里的方法
当点击B窗体确定Button事件 给A窗体俩个TextBox赋值 并关闭B窗体
B窗体
1)定义参数类
2)定义委托 定义委托事件
3) 定义触发事件方法
4) 触发事件方法
A窗体
1)实例化B窗体对象
2)注册定义的事件
3) 实现事件
代码
B窗体
1)定义参数类 也就是 我传过去了俩个字段(这俩个字段 让我封装成的类)
- //对象
- public class ItemEventArges:EventArgs
- {
- public ItemListControlViewModel value;
- public ItemEventArges(ItemListControlViewModel v)
- {
- value = v;
- }
- }
2)3)定义委托与委托事件
- public delegate void ItemEventHandler(object sender,ItemEventArges arge);
- public delegate void ItemCloseEventHandler(object sender);
4) 定义触发事件方法 用来方便调用
- /// <summary>
- /// 触发事件
- /// </summary>
- /// <param name="e"></param>
- protected virtual void OnItemEvent(ItemEventArges e)
- {
- if (ItemEvent != null)
- {
- ItemEvent(this, e);
- }
- }
5)点击选中按钮时 触发 事件方法 传参
- private void Button_Click(object sender, RoutedEventArgs e)
- {
- ItemListControlViewModel model = Listview.SelectedItem as ItemListControlViewModel;
- OnItemEvent(new ItemEventArges(model));
- }
A窗体
1)实例化B窗体 注册事件 实现事件内容
- //实例化B窗体
- ItemListControl us = new ItemListControl();
- //注册事件
- us.ItemEvent += us_ItemEvent;
- //实现内容方法
- void us_ItemEvent(object sender, ItemEventArges arge)
- {
- // 赋值
- TxTItem.Text = arge.value.ItemName;
- TxtID.Text = arge.value.ItemID;
- window.Close();
- }
以上都是测试数据
以上是关于WPF 委托 事件 B窗体调用A窗体方法的主要内容,如果未能解决你的问题,请参考以下文章
WPF窗口与windowsForm窗体之间的问题,怎么调用close()