Esempio n. 1
0
        public void When_DependencyObjectCollection_And_XBind()
        {
            var SUT = new Border();

            var root = new
            {
                MyElement = new Border()
                {
                    Tag = true
                }
            };

            var group = new VisualStateGroup();
            var state = new VisualState();

            var compositeTrigger = new CompositeTrigger();

            var stateTrigger = new StateTrigger();

            stateTrigger.SetBinding(
                StateTrigger.IsActiveProperty,
                new Binding {
                Path           = "MyElement.Tag",
                CompiledSource = root
            }
                );

            Assert.AreEqual(false, stateTrigger.IsActive);

            var triggers = new DependencyObjectCollection();

            triggers.Add(stateTrigger);
            compositeTrigger.TriggerCollection = triggers;

            state.StateTriggers.Add(compositeTrigger);

            group.States.Add(state);

            VisualStateManager.SetVisualStateGroups(SUT, new List <VisualStateGroup>()
            {
                group
            });

            SUT.ForceLoaded();
            SUT.ApplyCompiledBindings();

            Assert.AreEqual(true, stateTrigger.IsActive);

            compositeTrigger.TriggerCollection = null;

            Assert.IsNull(triggers.GetParent());
        }
Esempio n. 2
0
        private void OnCollectionChanged()
        {
#if !NET461
            switch (_collection.GetParent())
            {
            case TextBlock textBlock:
                textBlock.InvalidateInlines(true);
                break;

            case Inline inline:
                inline.InvalidateInlines(true);
                break;

            default:
                break;
            }
#endif
        }