0

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

textBox1_TextChanged事件应该触发一个 Web 服务调用,该调用应该在子窗口上填充一个列表框,但是由于某种原因,当子窗口加载时,文本框有根据需要传递给它的值,但由于某种原因,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" />
4

1 回答 1

1

您可以在触发事件并进行所有 XAML 事件订阅textBox1.Text后设置权限。Settings.Loaded

所以试试这个:

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

set.Show();
于 2012-05-04T11:04:27.380 回答