/// <inheritdoc /> public bool Predicate(ViewModelPage viewModel) { if (Key.IsInterface) { return(Key.IsAssignableFrom(viewModel.ViewModel.GetType())); } return(viewModel.ViewModel.GetType().IsSubclassOf(Key)); }
/// <inheritdoc /> public bool Predicate(ViewModelPage viewModel) { if (Goal == null) { return(true); } return(Goal.Predicate(viewModel)); }
private async Task Navigate(object paramter, ViewModelPage view, Frame content) { await view.Navigate(content, paramter); ISendMessage send = view.ViewModel; if (send != null) { send.SendMessageHandler += (sender, message) => ReceiveMessage(sender, message); } }
/// <inheritdoc /> public bool Predicate(ViewModelPage viewModel) { #if wpf if (Key.IsInterface) { return(Key.IsAssignableFrom(viewModel.ViewModel.GetType())); } return(viewModel.ViewModel.GetType().IsSubclassOf(Key)); #elif WINDOWS_UWP return(Key.IsAssignableFrom(viewModel.ViewModel.GetType())); #endif }
/// <summary> /// 跳转到页面 /// </summary> /// <param name="paramter"></param> /// <param name="view"></param> /// <param name="content"></param> /// <returns></returns> private async Task Navigate(object paramter, ViewModelPage view, Frame content) { Navigating?.Invoke(this, view); if (content == null) { content = Content; } _viewModel?.NavigatedFrom(this, null); await view.Navigate(content, this, paramter); _viewModel = view.ViewModel; Navigated?.Invoke(this, view); }
public async void Navigate(Type viewModel, object paramter) { _viewModel?.OnNavigatedFrom(this, null); var send = _viewModel as ISendMessage; if (send?.SendMessageHandler != null) { send.SendMessageHandler -= (sender, message) => ReceiveMessage(sender, message); } await Navigate(viewModel, paramter, Content); ViewModelPage view = ViewModel.Find(temp => temp.Equals(viewModel)); _viewModel = view.ViewModel; }
/// <summary> /// 跳转到页面 /// </summary> /// <param name="viewModel"></param> /// <param name="paramter"></param> /// <param name="content"></param> /// <returns></returns> public async void Navigate(Type viewModel, object paramter, Frame content = null) { ViewModelPage view = ViewModel.Find(temp => temp.Equals(viewModel)); await Navigate(paramter, view, content); }
/// <summary> /// 跳转到页面 /// </summary> /// <param name="viewModel"></param> /// <param name="paramter"></param> /// <param name="content"></param> public async void Navigate(ViewModelPage viewModel, object paramter, Frame content = null) { await Navigate(paramter, viewModel, content); }
protected bool Equals(ViewModelPage other) { return(_viewModel == other._viewModel); }
/// <inheritdoc /> public bool Predicate(ViewModelPage viewModel) { return(_predicate(viewModel)); }