コード例 #1
0
        private void OpenWindow <TWindow>(string contextStr) where TWindow : class, IMdiWindowViewModel, INavigateAware
        {
            var context = new ViewModelContext();

            context.AddValue("Title", $"Hello from {contextStr}");
            _navigation.NavigateToAsync <TWindow>(new NavigateParameters(context, containerGuid: this.Guid));
        }
コード例 #2
0
        public NavigationResult(string key, object value, bool?result)
        {
            ViewModelContext context = new ViewModelContext();

            context.AddValue(key, value);
            this.Context = context;
            this.Result  = result;
        }
コード例 #3
0
        public NavigationResult(string key, object value, Exception error)
        {
            ViewModelContext context = new ViewModelContext();

            context.AddValue(key, value);
            this.Context = context;
            this.Error   = error;
            this.Result  = false;
        }
コード例 #4
0
        public async Task NavigateToAsync <TViewModel>(string key, object obj)
            where TViewModel : IMdiWindowViewModel, INavigateAware
        {
            ViewModelContext context = new ViewModelContext();

            context.AddValue(key, obj);
            NavigateParameters navigateParameters = new NavigateParameters(context);

            await NavigateToAsync <TViewModel>(navigateParameters);
        }
コード例 #5
0
        public async Task LoadString_ReturnString()
        {
            ViewModelContext context = new ViewModelContext();

            context.AddValue <string>("id", "textid");
            await context.SaveObjectToJsonFileAsync(filename, settings);

            var newcontext = await filename.GetObjectFromJsonFileAsync <ViewModelContext>(settings);

            var result = newcontext.GetValue <string>("id");

            Assert.IsInstanceOfType(result, typeof(string));
            Assert.AreEqual("textid", result);
        }
コード例 #6
0
        public async Task LoadIntForString_ReturnFalse()
        {
            ViewModelContext context = new ViewModelContext();

            context.AddValue <string>("id", "qj123");
            await context.SaveObjectToJsonFileAsync(filename, settings);

            var newcontext = await filename.GetObjectFromJsonFileAsync <ViewModelContext>(settings);

            var result = newcontext.TryGetValue <int>("id", out int resInt);

            Assert.AreEqual(0, resInt);
            Assert.AreEqual(false, result);
        }
コード例 #7
0
        private async Task OpenWind2()
        {
            var context = new ViewModelContext();

            context.AddValue("Title", "hello from Window1ViewModel");
            try
            {
                await _navigation.NavigateToAsync <Window2ViewModel>(new NavigateParameters(context));
            }
            catch
            {
                NotificationMessage = "Error on Win2 open";
            }
        }
コード例 #8
0
        public async Task LoadInt_ReturnInt()
        {
            ViewModelContext context = new ViewModelContext();

            context.AddValue <int>("id", 158);
            await context.SaveObjectToJsonFileAsync(filename, settings);

            var newcontext = await filename.GetObjectFromJsonFileAsync <ViewModelContext>(settings);

            var result = newcontext.GetValue <int>("id");

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(int));
            Assert.AreEqual(158, result);
        }
コード例 #9
0
        public async Task LoadDateTime_ReturnDateTime()
        {
            DateTime         now     = DateTime.Now;
            ViewModelContext context = new ViewModelContext();

            context.AddValue <DateTime>("id", now);
            await context.SaveObjectToJsonFileAsync(filename, settings);

            var newcontext = await filename.GetObjectFromJsonFileAsync <ViewModelContext>(settings);

            var result = newcontext.GetValue <DateTime>("id");

            Assert.IsInstanceOfType(result, typeof(DateTime));
            Assert.AreEqual(now, result);
        }
コード例 #10
0
        public void NavigateToAsyncNotExists_AtActiveContainer_ActiveContainerNotChangedAndCreatedNewWindow()
        {
            ViewModelContext viewModelContext = new ViewModelContext();

            viewModelContext.AddValue <string>("Title", "New title");
            NavigateParameters navigateParameters = new NavigateParameters(viewModelContext);

            navigationService.NavigateToAsync <MdiWindowMock>(navigateParameters);

            var aimWindow = managerService.Containers[0].WindowsCollection.Last();

            Assert.AreEqual("Title1", managerService.ActiveContainer.Title);
            Assert.AreEqual(4, managerService.ActiveContainer.WindowsCollection.Count);
            Assert.AreEqual("New title", aimWindow.Title);
            Assert.IsTrue(aimWindow.IsSelected);
        }
コード例 #11
0
        public void NavigateToAsyncExists_AtNotActiveContainer_ActiveContainerChanged()
        {
            Guid             winGuid          = samples.Guids[1].Value[0];
            ViewModelContext viewModelContext = new ViewModelContext();

            viewModelContext.AddValue <string>("Title", "New title");
            NavigateParameters navigateParameters = new NavigateParameters(viewModelContext, windowGuid: winGuid);

            navigationService.NavigateToAsync <MdiWindowMock>(navigateParameters);

            var aimWindow = managerService.Containers[1].WindowsCollection[0];

            Assert.AreEqual("Title2", managerService.ActiveContainer.Title);
            Assert.AreEqual(2, managerService.ActiveContainer.WindowsCollection.Count);
            Assert.AreEqual(winGuid, aimWindow.Guid);
            Assert.AreEqual("New title", aimWindow.Title);
            Assert.IsTrue(aimWindow.IsSelected);
        }
コード例 #12
0
        public async Task LoadClass_ReturnClass()
        {
            TestClass        obj     = new TestClass(19);
            ViewModelContext context = new ViewModelContext();

            context.AddValue <TestClass>("id", obj);
            await context.SaveObjectToJsonFileAsync(filename, settings);

            var newcontext = await filename.GetObjectFromJsonFileAsync <ViewModelContext>(settings);

            var result = newcontext.GetValue <TestClass>("id");

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(TestClass));
            //Assert.AreEqual(obj, result);
            Assert.AreEqual(19, result.Id);
            Assert.AreEqual(DateTime.Today, result.DateTime.Date);
            Assert.AreEqual("Id is 19", result.Text);
        }
コード例 #13
0
 protected override void OnSavingState(ViewModelContext context)
 {
     context.AddValue("InternalText", InternalText);
 }