(WPF) 窗口间传参数
来源:互联网 发布:路由器信号增强软件 编辑:程序博客网 时间:2024/05/20 15:40
有如下几种方式:
1. 声明个全局变量,就是App.xaml里面声明;在所有窗体里面都可以引用 Application.Current.Properties["ArgumentName"];
2. 第二个就是 在目标窗体上面公开个 属性,直接赋值;
3. 最后就是在Uri里面传参数 NavigationService.Navigate(window object,argument value)
4. 采用事件响应,传递值。
举例:点击主窗口MainWindow 上的一个OpenSubWindow按钮 -> 打开子窗口SubWindow -> 在子窗口中的TextBox中输入值, 点击OK后关闭 -> 主窗口上的TextBox获取子窗口中的值。
1. 在子窗口中定义一个事件PassValuesEvent。 当点击 OK 按钮时,触发事件,并传递数值。( PassValuesEventArgs 是EventArgs类,需要同时定义好)
public partial class SubWindow : Window { public delegate void PassValuesHandler(object sender, PassValuesEventArgs e); public event PassValuesHandler PassValuesEvent; public SubWindow() { InitializeComponent(); } private void btnOK_Click(object sender, RoutedEventArgs e) { string value1 = tbValue1.Text; // Text Property return value is string type . int value2; Int32.TryParse(tbValue2.Text, out value2); PassValuesEventArgs args = new PassValuesEventArgs(value1, value2); PassValuesEvent(this, args); this.Close(); } }
2. 在主窗口中的OpenSubWindow按钮点击的方法中,订阅了PassValuesEvent事件。当事件触发时,获取传递的参数的值。
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void btnOpenSubWindow_Click(object sender, RoutedEventArgs e) { SubWindow subWindow = new SubWindow(); // 订阅事件 subWindow.PassValuesEvent += new SubWindow.PassValuesHandler(ReceiveValues); subWindow.Show(); } private void ReceiveValues(object sender, PassValuesEventArgs e) { this.tbValue1.Text = e.Value1; this.tbValue2.Text = e.Value2.ToString(); } }
阅读全文
0 0
- (WPF) 窗口间传参数
- (WPF) 窗口间传参数
- powerbuilder窗口间传递参数
- C# 窗口间传递参数
- wpf弹出窗口
- WPF继承自定义窗口
- WPF下移动窗口
- WPF的窗口
- 自定义WPF 窗口样式
- WPF绘制自定义窗口
- WPF 窗口句柄handle
- WPF定位窗口
- wpf 透明窗口拉伸
- WPF多窗口
- WPF 自定义窗口
- WPF获取窗口句柄
- WPF如何弹出窗口
- wpf学习笔记-窗口
- JavaScript简介
- Eclipse编码设置from杨老师
- MACD进阶使用模型回测
- 日常学习2017.7.28
- I
- (WPF) 窗口间传参数
- 纪念参加第八届 蓝桥杯java 软件开发(C组)
- 朴素贝叶斯
- 风险预警·11g容易被忽略的导入性能问题
- Java练习1
- typedef与#define和const的用法区分
- vs2008里批量删除历史记录与.ncb、.obj等文件
- Android中Parcelable接口用法
- 前端页面自动接管流程探索