【发布时间】:2014-12-05 10:17:53
【问题描述】:
我正在尝试更改 WPF 表单上文本框中的文本。到目前为止:
这是我更新文本框的方法。它在 MainWindow.cs 中
public void BodyText(string message)
{
txtBody.Clear();
txtBody = new TextBox();
txtBody.Text = message;
}
我正在尝试通过
从不同的类更新文本框MainWindow.BodyText(e.bodyresult);
e.bodyresult 是一个字符串
我读过很多不同的东西,但似乎都没有像我预期的那样工作。我对 C# 相当陌生,所以任何帮助将不胜感激
【问题讨论】:
-
通常,您只需将
TextBox.Text属性绑定到具有所需文本的数据结构。但如果你想以编程方式进行,第一步是不要创建一个全新的TextBox对象。只需设置Text属性(即删除BodyText()方法中的前两个语句)。 -
@PeterDuniho 我现在已经改变了,但它不会让我调用该方法,因为它不是静态类?但是,我不能使用静态类,因为我需要将文本框作为参数传递
-
可能能够将委托传递给另一个类,该类将用于调用您的 BodyText 方法...我有一段时间没有编写 C#,但我过去经常使用委托来更新进程与它们一起运行时的 UI
-
@JordanMoffat:在你的问题中用这么少的代码很难提供建议。但是规则很简单:如果你想调用一个非静态成员,你必须有一个实例引用。如果你有一个
MainWindow的实例,那么会有一些 代码知道它。该代码需要告诉调用BodyText()的代码。或者,数据绑定或让MainWindow类本身订阅获取e.bodyresult值的类上的事件将起作用(实际上通常是首选)。