Exemple #1
0
        public async Task <int> CreateNewViewAsync(Type viewModelType, object parameter = null)
        {
            int viewId = 0;

            var newView = CoreApplication.CreateNewView();
            await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                viewId = ApplicationView.GetForCurrentView().Id;

                var frame     = new Frame();
                var viewState = new ShellViewState
                {
                    ViewModel = viewModelType,
                    Parameter = parameter
                };
                frame.Navigate(typeof(ShellView), viewState);

                Window.Current.Content = frame;
                Window.Current.Activate();
            });

            if (await ApplicationViewSwitcher.TryShowAsStandaloneAsync(viewId))
            {
                return(viewId);
            }

            return(0);
        }
Exemple #2
0
        public void ShellViewStateChanged(ShellViewState shellViewState)
        {
            this.ShellViewState = shellViewState;
            this.undockingCommandBarButton.Visibility = shellViewState == ShellViewState.Embedded
                ? Visibility.Visible
                : Visibility.Collapsed;
            this.showInTabCommandBarButton.Visibility = shellViewState == ShellViewState.Window
                ? Visibility.Visible
                : Visibility.Collapsed;
            this.showInWindowCommandBarButton.Visibility = shellViewState == ShellViewState.Tab
                ? Visibility.Visible
                : Visibility.Collapsed;

            this.saveAndNextCommandBarButton.Visibility = shellViewState == ShellViewState.Embedded
                ? Visibility.Visible
                : Visibility.Collapsed;
            this.saveAndCloseCommandBarButton.Visibility = shellViewState != ShellViewState.Embedded
                ? Visibility.Visible
                : Visibility.Collapsed;
            this.cancelCommandBarButton.Visibility = shellViewState == ShellViewState.Embedded
                ? Visibility.Visible
                : Visibility.Collapsed;
            this.cancelAndCloseCommandBarButton.Visibility = shellViewState != ShellViewState.Embedded
                ? Visibility.Visible
                : Visibility.Collapsed;
        }
Exemple #3
0
        protected override async void OnLaunched(LaunchActivatedEventArgs e)
        {
            var frame = Window.Current.Content as Frame;

            if (frame == null)
            {
                frame = new Frame();
                Window.Current.Content = frame;
            }

            if (e.PrelaunchActivated == false)
            {
                await Startup.ConfigureAsync();

                if (frame.Content == null)
                {
                    var viewState = new ShellViewState
                    {
                        ViewModel = EntryViewModel,
                        Parameter = EntryViewState
                    };
                    frame.Navigate(typeof(MainShellView), viewState);
                }
                Window.Current.Activate();
            }

            ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(500, 500));
        }