我正在使用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" />
答案 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();