我正在使用web服務在windows phone應用程序上工作。如何在調用異步Web方法完成後導航?
我想在完成webmethod調用後導航到其他頁面。 我不知道它是如何可能的。
這裏是我的看法behing代碼的一部分:
private void Button1Button_Click(object sender, RoutedEventArgs e) { this._ws.InitializeConnexion("my name"); this.NavigationService.Navigate(new Uri("/View/profile.xaml", UriKind.Relative)); }
這裏是我的視圖模型類:
public sealed class MobileViewModel : INotifyPropertyChanged { private WSClient _ws; private T_member _member; public T_member Member { get { return _member; } set { _member = value; this.RaisePropertyChanged("Member"); } } public MobileViewModel() { _ws = new WSMobileClient(); _ws.InitializeConnexionCompleted += new EventHandler<InitializeConnexionCompletedEventArgs>(_ws_InitializeConnexionCompleted); } public event PropertyChangedEventHandler PropertyChanged; private void RaisePropertyChanged(string propertyName) { PropertyChangedEventHandler propertyChanged = this.PropertyChanged; if (propertyChanged != null) { propertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public void InitializeConnexion(string name) { _ws.InitializeConnexionAsync(name); } private void _ws_InitializeConnexionCompleted(object sender, InitializeConnexionCompletedEventArgs e) { if (e.Error == null) { this.Member = e.Result; } else { MessageBox.Show("error."); } } }
有誰可以幫我嗎?
謝謝。
的ICommand的看起來挺有意思的。但是,我沒有從我的ViewModel NavigationService的可見性。 – fliim 2011-04-30 17:32:22
對。忘了那件事。請參閱編輯。 – dkackman 2011-04-30 17:45:01
感謝您的額外代碼。我嘗試過,但我得到了一個App.Current.RootVisual null。怎麼可能? – fliim 2011-04-30 19:32:02