【发布时间】:2011-12-15 16:04:52
【问题描述】:
在 WPF 中页面之间传递值的最佳做法是什么?
谢谢
【问题讨论】:
-
我通过几种不同的方法在this answer 中传递参数。它使用查询字符串参数、构造函数参数和其他一些参数。
在 WPF 中页面之间传递值的最佳做法是什么?
谢谢
【问题讨论】:
您的固定参考点是 Application 对象。您可以将内容存储在 Properties 集合中:
string myText = (string)Application.Current.Properties["test"];
或者您可以将任何类型的数据添加到您的派生 App 类。
【讨论】:
示例变量名 = DeptName
在 App.xaml 中声明变量 即
public string DeptName { get; set; }
在您的 page-1 中分配值
(App.Current as App).DeptName = "test";
然后调用 page-2 中的值
string selected_dept = (App.Current as App).DeptName;
【讨论】:
可能通过MVVM architecture 中的模型。
【讨论】:
与 Windows 窗体相同:
不要只使用全局变量或从另一个页面访问页面的控件。如果您有两个页面需要共享同一个对象,例如Student,在您的页面中有一个类似SetStudent(Student student) 的方法,或者使用一个属性,以便一个页面可以使用该方法传递对象Student。如果需要,您当然也可以使用 Get。
【讨论】: