本文整理汇总了C#中System.Windows.Forms.Button.SetBinding方法的典型用法代码示例。如果您正苦于以下问题:C# Button.SetBinding方法的具体用法?C# Button.SetBinding怎么用?C# Button.SetBinding使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Forms.Button
的用法示例。
在下文中一共展示了Button.SetBinding方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ClearValueOnBoundProperty2
public void ClearValueOnBoundProperty2()
{
using(var button = new Button()) {
button.SetBinding(TestPropertyContainer.DefaultValueProperty, new Binding());
button.ClearValue(TestPropertyContainer.DefaultValueProperty);
Assert.That(button.GetValue(TestPropertyContainer.DefaultValueProperty), Is.EqualTo("d"));
}
}
示例2: ClearValueOnBoundProperty
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);
}
}
示例3: BindAttachedProperty2
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);
}
}
示例4: DoCollectControlWithDataContextSet
WeakReference DoCollectControlWithDataContextSet()
{
var button = new Button();
button.SetDataContext("test");
button.SetBinding("Text", new Binding());
return new WeakReference(button);
}
示例5: DoBindButtonAndGetViewModelReference
WeakReference DoBindButtonAndGetViewModelReference(Button button)
{
var viewModel = new TestViewModel() { StringProperty = "test" };
button.SetDataContext(viewModel);
button.SetBinding("Text", new Binding(() => viewModel.StringProperty));
return new WeakReference(viewModel);
}
示例6: TwoWayBindingForAttachedProperty
public void TwoWayBindingForAttachedProperty()
{
var viewModel = new TestViewModel() { };
using(var button = new Button()) {
button.SetDataContext(viewModel);
PropertyEntry<object> entry = CommandProvider.CommandParameterProperty.GetPropertyEntry(button);
Assert.That(entry.ChangedSubscribeCount, Is.EqualTo(0));
button.SetBinding(CommandProvider.CommandParameterProperty, new Binding(() => viewModel.StringProperty, BindingMode.TwoWay));
Assert.That(entry.ChangedSubscribeCount, Is.EqualTo(1));
Assert.That(button.GetCommandParameter(), Is.Null);
button.SetCommandParameter("test");
Assert.That(viewModel.StringProperty, Is.EqualTo("test"));
button.ClearBinding(CommandProvider.CommandParameterProperty);
Assert.That(entry.ChangedSubscribeCount, Is.EqualTo(0));
Assert.That(viewModel.StringProperty, Is.EqualTo("test"));
Assert.That(button.GetCommandParameter(), Is.Null);
viewModel.StringProperty = "test2";
Assert.That(button.GetCommandParameter(), Is.Null);
button.SetCommandParameter("test3");
}
}
示例7: SetSimpleBindingBeforeSetDataContext
public void SetSimpleBindingBeforeSetDataContext()
{
using(var button = new Button()) {
button.SetBinding("Text", new Binding());
Assert.That(button.HasLocalDataContext(), Is.False);
button.SetDataContext("test");
Assert.That(button.Text, Is.EqualTo("test"));
Assert.That(button.HasLocalDataContext(), Is.True);
button.SetDataContext("test2");
Assert.That(button.Text, Is.EqualTo("test2"));
button.ClearDataContext();
Assert.That(button.Text, Is.EqualTo(string.Empty));
button.SetDataContext("test3");
Assert.That(button.Text, Is.EqualTo("test3"));
button.ClearBinding("Text");
button.ClearBinding("Tag");
Assert.That(button.Text, Is.EqualTo(string.Empty));
Assert.That(button.Tag, Is.Null);
button.SetDataContext("test4");
Assert.That(button.Text, Is.EqualTo(string.Empty));
}
}
示例8: SetSimpleBindingAfterSetDataContext
public void SetSimpleBindingAfterSetDataContext()
{
using(var button = new Button()) {
button.SetDataContext("test");
button.SetBinding("Text", new Binding());
Assert.That(button.Text, Is.EqualTo("test"));
button.SetDataContext("test2");
Assert.That(button.Text, Is.EqualTo("test2"));
int textChangedCount = 0;
button.TextChanged += (sender, e) => {
textChangedCount++;
};
button.SetDataContext("test2");
Assert.That(textChangedCount, Is.EqualTo(0));
button.ClearDataContext();
Assert.That(button.Text, Is.EqualTo(string.Empty));
button.SetDataContext("test3");
Assert.That(button.Text, Is.EqualTo("test3"));
}
}
示例9: BindingWithPath
public void BindingWithPath()
{
var viewModel = new TestViewModel() { StringProperty = "test", StringProperty2 = "StringProperty2" };
using(var button = new Button()) {
button.SetDataContext(viewModel);
button.SetBinding(() => button.Text, new Binding("StringProperty"));
Assert.That(button.Text, Is.EqualTo("test"));
viewModel.StringProperty = "test2";
Assert.That(button.Text, Is.EqualTo("test2"));
button.ClearBinding(() => button.Text);
Assert.That(button.Text, Is.EqualTo(string.Empty));
button.SetBinding(() => button.Text, new Binding("StringProperty"));
Assert.That(button.Text, Is.EqualTo("test2"));
button.SetBinding(() => button.Text, new Binding("StringProperty2"));
Assert.That(button.Text, Is.EqualTo("StringProperty2"));
viewModel = new TestViewModel() { StringProperty2 = "StringProperty2_", NestedViewModel = new NestedTestViewModel() { NestedStringProperty = "NestedStringProperty" } };
button.SetDataContext(viewModel);
Assert.That(button.Text, Is.EqualTo("StringProperty2_"));
button.SetBinding(() => button.Text, new Binding("NestedViewModel.NestedStringProperty"));
Assert.That(button.Text, Is.EqualTo("NestedStringProperty"));
viewModel.NestedViewModel.NestedStringProperty = "NestedStringProperty2";
Assert.That(button.Text, Is.EqualTo("NestedStringProperty2"));
viewModel.NestedViewModel = new NestedTestViewModel() { NestedStringProperty = "NestedStringProperty3" };
Assert.That(button.Text, Is.EqualTo("NestedStringProperty3"));
viewModel.NestedViewModel = null;
Assert.That(button.Text, Is.EqualTo(string.Empty));
}
}
示例10: MultiLevelDataContextInheritance2
public void MultiLevelDataContextInheritance2()
{
using(var form = new Form()) {
var panel = new Panel();
var button = new Button();
panel.Controls.Add(button);
form.SetDataContext("test");
form.Controls.Add(panel);
button.SetBinding("Text", new Binding());
Assert.That(button.Text, Is.EqualTo("test"));
Assert.That(button.HasLocalDataContext(), Is.False);
form.SetDataContext("test2");
Assert.That(button.Text, Is.EqualTo("test2"));
Assert.That(button.HasLocalDataContext(), Is.False);
panel.SetDataContext("panel");
Assert.That(button.Text, Is.EqualTo("panel"));
Assert.That(button.HasLocalDataContext(), Is.False);
}
}
示例11: MultiLevelDataContextInheritance1
public void MultiLevelDataContextInheritance1()
{
using(var form = new Form()) {
var panel = new Panel();
var button1 = new Button();
button1.SetBinding("Text", new Binding());
panel.SetBinding("Tag", new Binding());
panel.Controls.Add(button1);
form.Controls.Add(panel);
form.SetDataContext("test");
Assert.That(button1.Text, Is.EqualTo("test"));
Assert.That(button1.HasLocalDataContext(), Is.False);
form.SetDataContext("test2");
Assert.That(button1.Text, Is.EqualTo("test2"));
Assert.That(button1.HasLocalDataContext(), Is.False);
form.ClearDataContext();
Assert.That(button1.Text, Is.EqualTo(string.Empty));
form.SetDataContext("test2");
Assert.That(panel.Tag, Is.EqualTo("test2"));
Assert.That(button1.Text, Is.EqualTo("test2"));
panel.SetDataContext("panel");
Assert.That(panel.Tag, Is.EqualTo("panel"));
Assert.That(button1.Text, Is.EqualTo("panel"));
form.ClearDataContext();
Assert.That(panel.Tag, Is.EqualTo("panel"));
Assert.That(button1.Text, Is.EqualTo("panel"));
form.SetDataContext("test2");
Assert.That(panel.Tag, Is.EqualTo("panel"));
Assert.That(button1.Text, Is.EqualTo("panel"));
panel.ClearDataContext();
Assert.That(panel.Tag, Is.EqualTo("test2"));
Assert.That(button1.Text, Is.EqualTo("test2"));
form.Controls.Clear();
Assert.That(panel.Tag, Is.Null);
Assert.That(button1.Text, Is.EqualTo(string.Empty));
}
}
示例12: IsBoundProperty
public void IsBoundProperty()
{
using(var button = new Button()) {
button.SetBinding("Text", new Binding());
Assert.That(BindingOperations.IsBoundProperty(button, TypeDescriptor.GetProperties(button)["Text"]), Is.True);
button.ClearBinding("Text");
Assert.That(BindingOperations.IsBoundProperty(button, TypeDescriptor.GetProperties(button)["Text"]), Is.False);
}
}
示例13: InheritedDataContextBinding_BindBeforeAddToTree
public void InheritedDataContextBinding_BindBeforeAddToTree()
{
using(var form = new Form()) {
var button1 = new Button();
var button2 = new Button();
button1.SetBinding("Text", new Binding());
button2.SetBinding("Text", new Binding());
form.Controls.Add(button1);
form.SetDataContext("test");
form.Controls.Add(button2);
Assert.That(button1.Text, Is.EqualTo("test"));
Assert.That(button1.HasLocalDataContext(), Is.False);
Assert.That(button2.Text, Is.EqualTo("test"));
Assert.That(button2.HasLocalDataContext(), Is.False);
}
}
示例14: InheritedDataContextBinding_BindAfterAddToTree
public void InheritedDataContextBinding_BindAfterAddToTree()
{
using(var form = new Form()) {
var button1 = new Button();
var button2 = new Button();
form.Controls.Add(button1);
form.SetDataContext("test");
form.Controls.Add(button2);
button1.SetBinding("Text", new Binding());
Assert.That(button1.Text, Is.EqualTo("test"));
Assert.That(button1.HasLocalDataContext(), Is.False);
button2.SetBinding("Text", new Binding());
Assert.That(button2.Text, Is.EqualTo("test"));
Assert.That(button2.HasLocalDataContext(), Is.False);
form.SetDataContext("test2");
Assert.That(button1.Text, Is.EqualTo("test2"));
Assert.That(button1.HasLocalDataContext(), Is.False);
Assert.That(button2.Text, Is.EqualTo("test2"));
Assert.That(button2.HasLocalDataContext(), Is.False);
button1.SetDataContext("button1");
Assert.That(button1.Text, Is.EqualTo("button1"));
Assert.That(button1.HasLocalDataContext(), Is.True);
button2.SetDataContext(null);
Assert.That(button2.Text, Is.EqualTo(string.Empty));
Assert.That(button2.HasLocalDataContext(), Is.True);
button1.ClearDataContext();
Assert.That(button1.Text, Is.EqualTo("test2"));
Assert.That(button1.HasLocalDataContext(), Is.False);
button2.ClearDataContext();
Assert.That(button2.Text, Is.EqualTo("test2"));
Assert.That(button2.HasLocalDataContext(), Is.False);
form.ClearDataContext();
Assert.That(button1.Text, Is.EqualTo(string.Empty));
Assert.That(button1.HasLocalDataContext(), Is.False);
Assert.That(button2.Text, Is.EqualTo(string.Empty));
Assert.That(button2.HasLocalDataContext(), Is.False);
button1.SetDataContext("button1");
Assert.That(button1.Text, Is.EqualTo("button1"));
Assert.That(button1.HasLocalDataContext(), Is.True);
form.SetDataContext("test");
Assert.That(button1.Text, Is.EqualTo("button1"));
Assert.That(button1.HasLocalDataContext(), Is.True);
Assert.That(button2.Text, Is.EqualTo("test"));
Assert.That(button2.HasLocalDataContext(), Is.False);
form.Controls.Clear();
Assert.That(button1.Text, Is.EqualTo("button1"));
Assert.That(button2.Text, Is.EqualTo(string.Empty));
}
}
示例15: ExtractPathFromLambdaExpression
public void ExtractPathFromLambdaExpression()
{
var viewModel = new TestViewModel() { StringProperty = "StringProperty", NestedViewModel = new NestedTestViewModel() { NestedStringProperty = "NestedStringProperty" } };
using(var button = new Button()) {
button.SetDataContext(viewModel);
button.SetBinding(() => button.Text, new Binding(() => viewModel.StringProperty));
Assert.That(button.Text, Is.EqualTo("StringProperty"));
button.SetBinding(() => button.Text, new Binding(() => viewModel.NestedViewModel.NestedStringProperty));
Assert.That(button.Text, Is.EqualTo("NestedStringProperty"));
button.SetBinding(() => new Button().Text, new Binding(() => new TestViewModel().StringProperty));
Assert.That(button.Text, Is.EqualTo("StringProperty"));
button.SetBinding(() => new Button().Text, new Binding(() => new TestViewModel().NestedViewModel.NestedStringProperty));
Assert.That(button.Text, Is.EqualTo("NestedStringProperty"));
}
}