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); } }
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")); } }
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); } }
WeakReference SetPropertyAndGetValueReference(Button button) { object value = new object(); button.SetValue(TestPropertyContainer.TestProperty, value); return new WeakReference(value); }
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_")); } }