2012-05-09 4 views
-1

Webサービスからの非同期応答をSilverlightでどのように使用するかを把握するのが難しいです。私はしかし、その後、declared-子ウィンドウで応答値を使用する

public partial class Users : Page 
{ 
    public string PID; 

とuse- PID-

void client_pidReturnCompleted(object sender, pidReturnCompletedEventArgs e) 
    { 
     PID = e.Result; 
    } 

は、私はその後、キーワードの子ウィンドウのInitialise Componentセクションで、このPIDを使用する必要が

if 
{ 
WebService.Service1SoapClient client = new WebService.Service1SoapClient(); 
string profile = System.Convert.ToString(((ListBoxItem)listBox1.SelectedItem).Content); 
client.pidReturnCompleted += new EventHandler<pidReturnCompletedEventArgs>(client_pidReturnCompleted); 
client.pidReturnAsync(USERID, profile); 
} 
Else 
{ 

KeyWords keywords = new KeyWords(); 

keywords.textBox3.Text = PID; 
keywords.Show(); 

を持っていますウィンドウがロードされると、時間内にtextBox.Text(PID値)が取得されず、nullと表示されます。コンポーネントの初期化段階でPIDを使用するにはどうすればよいですか?私はKeywords_Loadedのボイドを作成することによって、それをソートWhere- Public Int PID = textBox3.Text //this is where the value from the previous window is passed in.

答えて

0

だから、キーワードに

public KeyWords() 
    { 
     InitializeComponent(); 

     this.Loaded += new RoutedEventHandler(KeyWords_Loaded); 

     WebService.Service1SoapClient client = new WebService.Service1SoapClient(); 
     client.userKeywordsCompleted += new EventHandler<userKeywordsCompletedEventArgs>(client_userKeywordsCompleted); 
     client.userKeywordsAsync(PID); 

    } 

を[ウィンドウ。私は以前のフォームから渡された値を使用することができました。

関連する問題