簡體   English   中英

在內部類中設置WPF文本框值

[英]Set WPF Textbox Value in innerclass

這可能是一個菜鳥問題,但我不是一個經驗豐富的程序員。

我將WCF與WPF結合使用,以使用GUI創建聊天室。 我的問題是我想使用callbackhandler設置傳入消息的文本框的值。 因為這是一個內部類,但是我不能調用文本框。 有人知道解決方案嗎?

namespace WPFClient

public partial class MainWindow : Window
{
    Service1Client s;
    public MainWindow()
    {
        InitializeComponent();
        InstanceContext site = new InstanceContext(new CallbackHandler());
        s = new Service1Client(site);
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        Message m = new Message();
        m.Content = txtMessage.Text;
        m.User = txtName.Text;
        s.SendMessage(m);
    }

    public class CallbackHandler : IService1Callback
    {
        public void SendMessageToClients(Message m)
        {

            //I would like to call an alrdy generated textbox here to set its value, like txtMessageAll.Text("Setting text");
        }
    }
}

}

謝謝!

由於CallbackHandler是一個自定義類,因此可以在創建對象時通過參數化構造函數將MainBox的TextBox傳遞給此類。 在傳遞引用時,您還可以通過Callback Handler類更改該TextBox的Text。

 public class CallbackHandler 
    {
        public TextBox textValue { get; set; }

        CallbackHandler(TextBox tb) {

            this.textValue = tb;

        }
        public void SendMessageToClients(Message m)
        {
            this.textValue.Text="some_message";
            //I would like to call an alrdy generated textbox here to set its value, like txtMessageAll.Text("Setting text");
        }
    }

並從您的MainWindow類

InstanceContext site = new InstanceContext(new CallbackHandler(txtboxMessageAll));

其中“ txtboxMessageAll”是Xaml頁面中已經存在的TextBox。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM