/// <inheritdoc />
 public bool Predicate(ViewModelPage viewModel)
 {
     if (Key.IsInterface)
     {
         return(Key.IsAssignableFrom(viewModel.ViewModel.GetType()));
     }
     return(viewModel.ViewModel.GetType().IsSubclassOf(Key));
 }
Esempio n. 2
0
 /// <inheritdoc />
 public bool Predicate(ViewModelPage viewModel)
 {
     if (Goal == null)
     {
         return(true);
     }
     return(Goal.Predicate(viewModel));
 }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        /// <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
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        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;
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
 /// <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);
 }
Esempio n. 9
0
 protected bool Equals(ViewModelPage other)
 {
     return(_viewModel == other._viewModel);
 }
Esempio n. 10
0
 /// <inheritdoc />
 public bool Predicate(ViewModelPage viewModel)
 {
     return(_predicate(viewModel));
 }