c# - 如何从另一个类或窗口访问 WPF 中的控件

标签 c# wpf silverlight

我想在 WPF 的 mainWindow 中访问我的控件,如按钮或文本框,但我不能这样做。

在 Windows 窗体应用程序中,这非常简单,您可以将该控件的修饰符设置为 True,然后您可以从该 mainWindow 的实例访问该控件,但在 WPF 中我无法声明公共(public)控件。我该怎么做?

最佳答案

要访问另一个 WPF 窗体中的控件,您必须将该控件声明为公共(public)控件。 WPF 中控件的默认声明是公共(public)的,但您可以使用以下代码指定它:

<TextBox x:Name="textBox1" x:FieldModifier="public" />

然后您可以在应用程序中的所有事件窗口中搜索以查找具有如下控件的窗口:

foreach (Window window in Application.Current.Windows)
{
    if (window.GetType() == typeof(Window1))
    {
       (window as Window1).textBox1.Text = "I changed it from another window";
    }
}

关于c# - 如何从另一个类或窗口访问 WPF 中的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13644114/

相关文章:

c# - IEnumerable<> vs List<> 作为参数

c# - 屏幕分辨率和滚动条

c# - 没有 ASP.NET Identity 的 OWIN cookie 身份验证

c# - ListView 仅显示空行。 WPF MVVM

sql - 将datetime2数据类型转换为datetime数据类型导致超出范围?

c# - Expression Design xaml 输出中的多个嵌套 Canvas ,为什么?

c# - 在 Linux 中运行 Microsoft Visual Studio C# 项目

WPF 还是工作流?

sql - 我应该使用什么数据库来部署 WPF 应用程序?

silverlight - 定义可靠的 SIlverlight 4 架构