我必须为WPF应用程序编写一个函数:
public void function(Window win)
{
win.mytextbox.Text=""; // will show error
}
被调用的参数Window将在所有这些中都有mytextbox
,但是如何在函数中设置值,因为win没有mytextbox
?
仅在所有窗口实例存在的情况下才会在MainWindow
中调用函数,即win1,win2,win3,..以及所有和函数也在MainWindow
?
答案 0 :(得分:3)
如果TextBox的名称是“mytextbox”,您可以通过
访问它((TextBox)win.FindName("mytextbox")).Text = "";
您也可以将MainWindow作为参数传递,然后直接访问mytextbox,如下所示:
public void MyFunction(MainWindow mw)
{
mw.mytextbox.Text = "";
}
由于您使用的是WPF,因此您应该考虑使用DataBinding而不是在代码隐藏中操作您的Controls属性。