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 に答える