Ejemplo n.º 1
0
        public void When_ElementNameSubject_Lazy()
        {
            var ens = new ElementNameSubject(true, "test");

            var    g    = new Grid();
            Border b1   = null;
            var    stub = new ElementStub {
                Name           = "test",
                ContentBuilder = () => {
                    b1 = new Border()
                    {
                        Name = "test"
                    };
                    ens.ElementInstance = b1;
                    return(b1);
                }
            };

            ens.ElementInstance = stub;

            g.Children.Add(stub);

            Assert.IsNull(ens.ElementInstance);

            var b2 = g.FindName("test");

            Assert.IsNotNull(b2);
            Assert.AreEqual(b1, b2);
            Assert.AreEqual(b1, g.Children.First());
        }
Ejemplo n.º 2
0
        public void When_Source_Complex()
        {
            var SUT     = new Windows.UI.Xaml.Controls.Grid();
            var subject = new ElementNameSubject();

            SUT.SetBinding(
                Windows.UI.Xaml.Controls.Grid.TagProperty,
                new Binding()
            {
                Path   = "MyProperty",
                Source = new { MyProperty = 42 }
            }
                );

            Assert.AreEqual(42, SUT.Tag);
        }
Ejemplo n.º 3
0
        public void When_ElementNameSetter()
        {
            var  g         = new Grid();
            Grid innerGrid = null;
            var  subject   = new ElementNameSubject(false, "test");
            var  stub      = new ElementStub
            {
                ContentBuilder = () => {
                    innerGrid = new Grid()
                    {
                        Name = "test"
                    };
                    subject.ElementInstance = innerGrid;
                    return(innerGrid);
                }
            };

            subject.ElementInstance = stub;

            g.Children.Add(stub);

            var SUT = new Setter(new TargetPropertyPath(subject, "Tag"), 42);

            var trigger = new StateTrigger()
            {
                IsActive = false
            };
            var vs = new VisualState {
                Setters = { SUT }, StateTriggers = { trigger }
            };

            var group = new VisualStateGroup();

            group.States.Add(vs);

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

            Assert.IsNull(innerGrid);

            trigger.IsActive = true;
            Assert.IsNotNull(innerGrid);
            Assert.AreEqual(42, innerGrid.Tag);
        }
Ejemplo n.º 4
0
        public void When_Subject_Source()
        {
            var SUT     = new Windows.UI.Xaml.Controls.Grid();
            var subject = new ElementNameSubject();

            SUT.SetBinding(
                Windows.UI.Xaml.Controls.Grid.TagProperty,
                new Binding()
            {
                Source = subject
            }
                );

            Assert.IsNull(SUT.Tag);

            subject.ElementInstance = 42;

            Assert.AreEqual(42, SUT.Tag);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Explicitly sets the target using an ElementNameSubject, in case of lazy
 /// evaluation of the target element.
 /// </summary>
 public static void SetTarget(Timeline timeline, ElementNameSubject target) => timeline.SetElementNameTarget(target);