Esempio n. 1
0
        public void When_StateTrigger_DataBound_Late()
        {
            var SUT = new UserControl();
            var mgr = VisualStateManager.GetVisualStateManager(SUT);

            var group = new VisualStateGroup();

            var state = new VisualState();

            group.States.Add(state);

            var trigger = new StateTrigger();

            trigger.SetBinding(StateTrigger.IsActiveProperty, new Binding()
            {
                Path = "a"
            });

            var groups = new List <VisualStateGroup>();

            groups.Add(group);
            state.StateTriggers.Add(trigger);
            VisualStateManager.SetVisualStateGroups(SUT, groups);

            Assert.IsNull(trigger.DataContext);
            Assert.IsFalse(trigger.IsActive);

            SUT.DataContext = new { a = true };

            Assert.IsNotNull(group.DataContext);
            Assert.IsNotNull(state.DataContext);
            Assert.IsNotNull(trigger.DataContext);
            Assert.IsTrue(trigger.IsActive);
        }