Ejemplo n.º 1
0
 public void ClearValueOnBoundProperty()
 {
     using(var button = new Button()) {
         button.SetValue(DataContextProvider.DataContextProperty, "test");
         button.SetBinding(DataContextProvider.DataContextProperty, new Binding());
         button.ClearValue(DataContextProvider.DataContextProperty);
         Assert.That(button.GetDataContext(), Is.Null);
     }
 }
Ejemplo n.º 2
0
        public void DefaultValue()
        {
            using(var button = new Button()) {
                Assert.That(TestPropertyContainer.DefaultValueChangedFireCount, Is.EqualTo(0));
                Assert.That(button.GetValue(TestPropertyContainer.DefaultValueProperty), Is.EqualTo("d"));

                button.SetValue(TestPropertyContainer.DefaultValueProperty, "button");
                Assert.That(TestPropertyContainer.DefaultValueChangedFireCount, Is.EqualTo(1));
                Assert.That(TestPropertyContainer.DefaultValueChangedSender, Is.EqualTo(button));
                Assert.That(TestPropertyContainer.DefaultValueChangedArgs.OldValue, Is.EqualTo("d"));
                Assert.That(TestPropertyContainer.DefaultValueChangedArgs.NewValue, Is.EqualTo("button"));
                Assert.That(button.GetValue(TestPropertyContainer.DefaultValueProperty), Is.EqualTo("button"));

                button.ClearValue(TestPropertyContainer.DefaultValueProperty);
                Assert.That(TestPropertyContainer.DefaultValueChangedFireCount, Is.EqualTo(2));
                Assert.That(button.GetValue(TestPropertyContainer.DefaultValueProperty), Is.EqualTo("d"));
                Assert.That(TestPropertyContainer.DefaultValueChangedArgs.NewValue, Is.EqualTo("d"));
                Assert.That(TestPropertyContainer.DefaultValueChangedArgs.OldValue, Is.EqualTo("button"));
            }
        }
Ejemplo n.º 3
0
        public void BindAttachedProperty2()
        {
            var viewModel = new TestViewModel();
            using(var button = new Button()) {
                button.SetValue(TextProperty, "button1");
                button.SetDataContext(viewModel);
                button.SetBinding(() => new Button().Text, new Binding(() => new TestViewModel().StringProperty2));
                button.SetBinding(TextProperty, new Binding(() => new TestViewModel().StringProperty));
                Assert.That(button.GetValue(TextProperty), Is.EqualTo(null));
                Assert.That(button.Text, Is.EqualTo(string.Empty));

                viewModel.StringProperty = "test";
                Assert.That(button.GetValue(TextProperty), Is.EqualTo("test"));
                Assert.That(button.Text, Is.EqualTo(string.Empty));

                viewModel.StringProperty2 = "test2";
                Assert.That(button.GetValue(TextProperty), Is.EqualTo("test"));
                Assert.That(button.Text, Is.EqualTo("test2"));

                button.ClearBinding(TextProperty);
                Assert.That(button.GetValue(TextProperty), Is.Null);
            }
        }
Ejemplo n.º 4
0
 WeakReference SetPropertyAndGetValueReference(Button button)
 {
     object value = new object();
     button.SetValue(TestPropertyContainer.TestProperty, value);
     return new WeakReference(value);
 }
Ejemplo n.º 5
0
        public void RegisterInheritableAndNoInheritablPropertiesProperty()
        {
            using(var form = new Form()) {
                var button1 = new Button();
                var button2 = new Button();
                form.Controls.Add(button1);
                form.Controls.Add(button2);

                Assert.That(button1.GetValue(TestPropertyContainer.TestProperty), Is.Null);
                Assert.That(button2.GetValue(TestPropertyContainer.TestProperty), Is.Null);
                Assert.That(form.GetValue(TestPropertyContainer.TestProperty), Is.Null);

                button1.SetValue(TestPropertyContainer.TestProperty, "button1");
                button1.SetValue(TestPropertyContainer.Test2Property, "button1_");
                Assert.That(button1.GetValue(TestPropertyContainer.TestProperty), Is.EqualTo("button1"));
                Assert.That(button1.GetValue(TestPropertyContainer.Test2Property), Is.EqualTo("button1_"));

                form.SetValue(TestPropertyContainer.TestProperty, "form");
                form.SetValue(TestPropertyContainer.Test2Property, "form2");
                Assert.That(form.GetValue(TestPropertyContainer.TestProperty), Is.EqualTo("form"));
                Assert.That(button1.GetValue(TestPropertyContainer.TestProperty), Is.EqualTo("button1"));
                Assert.That(button2.GetValue(TestPropertyContainer.TestProperty), Is.EqualTo("form"));
                Assert.That(form.GetValue(TestPropertyContainer.Test2Property), Is.EqualTo("form2"));
                Assert.That(button1.GetValue(TestPropertyContainer.Test2Property), Is.EqualTo("button1_"));
                Assert.That(button2.GetValue(TestPropertyContainer.Test2Property), Is.Null);

                Assert.That(button2.HasLocalValue(TestPropertyContainer.TestProperty), Is.False);
                Assert.That(button1.HasLocalValue(TestPropertyContainer.TestProperty), Is.True);

                button1.ClearValue(TestPropertyContainer.TestProperty);
                Assert.That(button1.GetValue(TestPropertyContainer.TestProperty), Is.EqualTo("form"));
                Assert.That(button1.HasLocalValue(TestPropertyContainer.TestProperty), Is.False);

                button1.ClearValue(TestPropertyContainer.Test2Property);
                Assert.That(button1.GetValue(TestPropertyContainer.Test2Property), Is.Null);
                Assert.That(button1.HasLocalValue(TestPropertyContainer.Test2Property), Is.False);

                button1.SetValue(TestPropertyContainer.Test2Property, "button1_");
                form.ClearValue(TestPropertyContainer.Test2Property);
                Assert.That(button1.GetValue(TestPropertyContainer.Test2Property), Is.EqualTo("button1_"));

                form.SetValue(TestPropertyContainer.Test2Property, "form2");
                var button3 = new Button();
                form.Controls.Add(button3);
                Assert.That(button3.GetValue(TestPropertyContainer.Test2Property), Is.Null);

                button3.SetValue(TestPropertyContainer.Test2Property, "button3_");
                form.Controls.Remove(button3);
                Assert.That(button3.GetValue(TestPropertyContainer.Test2Property), Is.EqualTo("button3_"));
            }
        }