2014-12-05 53 views
0

我试图改变WPF窗体上的文本框中的文本。到目前为止:设置从主类以外的文本

这是我更新文本框的方法。这是一个在MainWindow.cs

public void BodyText(string message) 
    { 

     txtBody.Clear(); 
     txtBody = new TextBox(); 
     txtBody.Text = message; 
    } 

我试图通过

MainWindow.BodyText(e.bodyresult); 

其中e.bodyresult是一个字符串

更新来自不同类的文本框,我读了很多的不同事情,他们都没有像我所期望的那样工作。我相当新的C#,所以任何帮助,将不胜感激

+1

通常情况下,你只绑定'TextBox.Text'属性设置为具有所需的文本数据结构。但是如果你想以编程的方式来做,第一步就是不要创建一个全新的'TextBox'对象。只需设置Text属性(即删除您的'BodyText()'方法中的前两个语句)。 – 2014-12-05 01:45:10

+0

@PeterDuniho我已经改变了,但它不会让我调用该方法,因为它不是一个静态类?然而,我不能使用静态类,因为我需要传递文本框作为参数 – 2014-12-05 01:48:25

+0

可能能够将委托传递给另一个类,该类将用于调用您的BodyText方法......我没有写过c#在一段时间,但我曾经使用委托很多来更新一个用户界面,而一个进程与他们一起运行 – markg 2014-12-05 01:49:43

回答

0

MainWindow是一个类的名称。在其他课程中,您需要访问充当主窗口的那种类型的实例。

事情是这样的:

 MainWindow x = (MainWindow) App.Current.MainWindow; 
     x.BodyText("Message");