将值传递到文本框中

时间:2012-05-04 09:34:43

标签: c# silverlight textbox childwindow

我正在使用Silverlight,并将值传递到子窗口中的文本框中,

textBox1_TextChanged事件应该触发应该填充子窗口上的列表框的webservice调用,但是由于某种原因,当子窗口加载时,文本框会根据需要传递给它,但由于某种原因TextChanged事件没有被解雇?

这有什么具体原因吗?

以下是更改事件 -

private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
    {
        WebService.Service1SoapClient client = new WebService.Service1SoapClient();
        client.PRSHListCompleted += new EventHandler<PRSHListCompletedEventArgs>(client_PRSHListCompleted);
        client.PRSHListAsync(System.Convert.ToInt16(textBox1.Text));

        textBox2.Text = "OK"; //I did this to test if I was getting to the event and it failed.
    }

我从父窗口传递textBox1.Text -

Settings set = new Settings();
set.textBox1.Text = System.Convert.ToString(PRSID);

set.Show();

其中set是子窗口。

这是文本框的XAML -

<TextBox Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="12,13,0,0" Name="textBox1" VerticalAlignment="Top" Width="28" TextChanged="textBox1_TextChanged" />

1 个答案:

答案 0 :(得分:1)

您可以在textBox1.Text事件被触发后立即设置Settings.Loaded并完成所有XAML事件订阅。

所以试试这个:

Settings set = new Settings();
set.Loaded += (o, args) =>
{
    //set.Dispatcher.BeginInvoke(() =>
    //{
    set.textBox1.Text = System.Convert.ToString(PRSID);
    //});
};

set.Show();