我想访问WPF的mainWindow中的按钮或文本框之类的控件,但是我不能这样做。
在Windows窗体应用程序中,它是如此简单,您可以将该控件的修改器设置为True,并且可以从该mainWindow的实例访问该控件,但是在WPF中,我无法声明公共(public)控件。我怎样才能做到这一点?
最佳答案
若要访问其他WPF表单中的控件,则必须将该控件声明为公共(public)控件。 WPF中控件的默认声明是公共(public)的,但是您可以使用以下代码指定它:
<TextBox x:Name="textBox1" x:FieldModifier="public" />
然后,您可以在应用程序的所有 Activity 窗口中搜索以找到具有以下控件的窗口:
foreach (Window window in Application.Current.Windows)
{
if (window.GetType() == typeof(Window1))
{
(window as Window1).textBox1.Text = "I changed it from another window";
}
}