示例#1
0
        private IEnumerator NotifyTestB1()
        {
            var model       = new ModelB();
            var bindingList = new List <Binding>();

            for (int i = 0; i < bindingTestCount; i++)
            {
                var view = new ViewB();

                var binding = new Binding("IntValue", view, "TextA");
                binding.Bind(model);
                bindingList.Add(binding);

                binding = new Binding("FloatValue", view, "TextB");
                binding.Bind(model);
                bindingList.Add(binding);
            }

            var test = RunActionAsync("NotifyTestB1", bindingTestCount, () =>
            {
                // update value
                model.IntValue   = 1;
                model.FloatValue = 2f;
            });

            yield return(StartCoroutine(test));
        }
示例#2
0
        private async void Button_Clicked(object sender, EventArgs e)
        {
            Page root = _navPage.Navigation.NavigationStack[0];

            await _navPage.Navigation.PopToRootAsync(false);

            Page newRoot = null;

            var btn = (Button)sender;

            if (btn.Text == "ViewA")
            {
                newRoot = new ViewA();
            }
            else
            {
                newRoot = new ViewB();
            }


            await _navPage.Navigation.PushAsync(newRoot);

            _navPage.Navigation.RemovePage(root);
            IsPresented = false;
        }
示例#3
0
 private void MainWindow_Loaded(object sender, RoutedEventArgs e)
 {
     _viewA  = _viewAFactory();
     _viewB  = _viewBFactory();
     _region = _regionManager.Regions["ContentRegion"];
     _region.Add(_viewB);
     _region.Add(_viewA);
 }
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     _viewA  = _container.Resolve <ViewA>();
     _viewB  = _container.Resolve <ViewB>();
     _region = _regionManager.Regions["ContentInner"];
     _region.Add(_viewA);
     _region.Add(_viewB);
 }
        private void ViewsActivationView_Loaded(object sender, RoutedEventArgs e)
        {
            region = regionManager.Regions[ViewsActivationModule.ViewsActivationRegion];

            viewA = container.Resolve <ViewA>();
            viewB = container.Resolve <ViewB>();

            region.Add(viewA);
            region.Add(viewB);
            Clear();
        }
示例#6
0
        public NavigatorFixture()
        {
            _trace = new StringWriter();

            _vmA = new ViewModelA(_trace);
            _vmB = new ViewModelB(_trace);
            _vmC = new ViewModelC(_trace);

            _vA = new ViewA {
                BindingContext = _vmA, Title = "a"
            };
            _vB = new ViewB {
                BindingContext = _vmB, Title = "b"
            };
            _vC = new ViewC {
                BindingContext = _vmC, Title = "c"
            };

            _navigationPage = new NavigationPage(_vA);

            var pageMock = new Mock <IPage>();

            pageMock.Setup(p => p.Navigation).Returns(() => _navigationPage.CurrentPage.Navigation);

            var viewFactoryMock = new Mock <IViewFactory>();

            viewFactoryMock.Setup(vf => vf.Resolve(It.IsAny <Action <ViewModelA> >())).Returns(() => _vA);
            viewFactoryMock.Setup(vf => vf.Resolve(It.IsAny <Action <ViewModelB> >())).Returns(() => _vB);
            viewFactoryMock.Setup(vf => vf.Resolve(It.IsAny <Action <ViewModelC> >())).Returns(() => _vC);

            ViewModelA unusedA;
            ViewModelB unusedB;
            ViewModelC unusedC;

            viewFactoryMock.Setup(vf => vf.Resolve(out unusedA, It.IsAny <Action <ViewModelA> >()));

            viewFactoryMock.Setup(vf => vf.Resolve(out unusedB, It.IsAny <Action <ViewModelB> >()))
            .OutCallback((out ViewModelB vm, Action <ViewModelB> setStateAction) => vm = _vmB)
            .Returns(() => _vB);

            viewFactoryMock.Setup(vf => vf.Resolve(out unusedC, It.IsAny <Action <ViewModelC> >()))
            .OutCallback((out ViewModelC vm, Action <ViewModelC> setStateAction) => vm = _vmC)
            .Returns(() => _vC);

            viewFactoryMock.Setup(vf => vf.Resolve(_vmA)).Returns(_vA);
            viewFactoryMock.Setup(vf => vf.Resolve(_vmB)).Returns(_vB);
            viewFactoryMock.Setup(vf => vf.Resolve(_vmC)).Returns(_vC);

            _navigator = new Navigator(pageMock.Object, viewFactoryMock.Object);
        }
示例#7
0
		private async void Button_Clicked(object sender, EventArgs e)
		{
			Page root = _navPage.Navigation.NavigationStack[0];

			await _navPage.Navigation.PopToRootAsync(false);

			Page newRoot = null;

			var btn = (Button)sender;
			if (btn.Text == "ViewA")
				newRoot = new ViewA();
			else
				newRoot = new ViewB();

				
			await _navPage.Navigation.PushAsync(newRoot);
			_navPage.Navigation.RemovePage(root);
			IsPresented = false;

		}
示例#8
0
        private IEnumerator NotifyTestB2()
        {
            // wait one frame
            yield return(null);

            var modelList   = new List <ModelB>();
            var bindingList = new List <Binding>();

            for (int i = 0; i < bindingTestCount; i++)
            {
                var model = new ModelB();
                modelList.Add(model);

                var view = new ViewB();

                var binding = new Binding("IntValue", view, "TextA");
                binding.Bind(model);
                bindingList.Add(binding);

                binding = new Binding("FloatValue", view, "TextB");
                binding.Bind(model);
                bindingList.Add(binding);
            }

            var test = RunActionAsync("NotifyTestB2", bindingTestCount, () =>
            {
                // update value
                foreach (var item in modelList)
                {
                    item.IntValue   = 1;
                    item.FloatValue = 2f;
                }
            });

            yield return(StartCoroutine(test));
        }
示例#9
0
        public void SetData(IList <string> StringListA, IList <string> StringListB, EditScript Script, string strNameA, string strNameB)
        {
            ViewA.SetData(StringListA, Script, true);
            ViewB.SetData(StringListB, Script, false);
            Overview.DiffView = ViewA;

            Debug.Assert(ViewA.LineCount == ViewB.LineCount, "Both DiffView's LineCounts must be the same");

            bool bShowNames = strNameA.Length > 0 || strNameB.Length > 0;

            edtLeft.Visible  = bShowNames;
            edtRight.Visible = bShowNames;
            if (bShowNames)
            {
                edtLeft.Text  = strNameA;
                edtRight.Text = strNameB;
            }

            UpdateButtons();
            m_iCurrentDiffLine = -1;
            UpdateLineDiff();

            ActiveControl = ViewA;
        }