示例#1
0
        public void SendsBackEventToPresentedMasterFirst()
        {
            var detail = new BackButtonPage()
            {
                Handle = true
            };
            var master = new BackButtonPage()
            {
                Title = "Master"
            };
            var mdp = new MasterDetailPage()
            {
                Detail            = detail,
                Master            = master,
                IsPresented       = true,
                IsPlatformEnabled = true,
            };

            ((IMasterDetailPageController)mdp).BackButtonPressed += (sender, args) => {
                args.Handled    = mdp.IsPresented;
                mdp.IsPresented = false;
            };

            var detailEmitted = false;
            var masterEmitted = false;

            detail.BackPressed += (sender, args) => detailEmitted = true;
            master.BackPressed += (sender, args) => masterEmitted = true;

            var result = mdp.SendBackButtonPressed();

            Assert.True(masterEmitted);
            Assert.False(detailEmitted);
            Assert.True(result);
        }
        public void EmitsCorrectlyWhenPresentedOnBackPressed()
        {
            var detail = new BackButtonPage();
            var master = new BackButtonPage {
                Title = "Master"
            };
            var mdp = new MasterDetailPage {
                Detail            = detail,
                Master            = master,
                IsPresented       = true,
                IsPlatformEnabled = true,
                Platform          = new UnitPlatform()
            };

            ((IMasterDetailPageController)mdp).BackButtonPressed += (sender, args) => {
                args.Handled    = mdp.IsPresented;
                mdp.IsPresented = false;
            };

            var detailEmitted = false;
            var masterEmitted = false;

            detail.BackPressed += (sender, args) => detailEmitted = true;
            master.BackPressed += (sender, args) => masterEmitted = true;

            var result = mdp.SendBackButtonPressed();

            Assert.True(masterEmitted);
            Assert.False(detailEmitted);
            Assert.True(result);
        }
		public void EmitsCorrectlyWhenPresentedOnBackPressed ()
		{
			var detail = new BackButtonPage ();
			var master = new BackButtonPage { Title = "Master" };
			var mdp = new MasterDetailPage {
				Detail = detail,
				Master = master,
				IsPresented = true,
				IsPlatformEnabled = true,
				Platform = new UnitPlatform ()
			};

			((IMasterDetailPageController)mdp).BackButtonPressed += (sender, args) => {
				args.Handled = mdp.IsPresented;
				mdp.IsPresented = false;
			};

			var detailEmitted = false;
			var masterEmitted = false;

			detail.BackPressed += (sender, args) => detailEmitted = true;
			master.BackPressed += (sender, args) => masterEmitted = true;

			var result = mdp.SendBackButtonPressed ();

			Assert.True (masterEmitted);
			Assert.False (detailEmitted);
			Assert.True (result);
		}