22

i am trying to binding a very simple property to a TextBlock, but I have to do all in code-behind (C#).

What i am trying to do is:

public string SomeText { get; set; }

And after I try the Binding on TextBlock:

Binding myBinding = new Binding(SomeText);
myTextBlock.SetBinding(TextBlock.TextProperty, myBinding);

How do I keep the Text property of the TextBlock the same of the Property SomeText.

1
  • Binding myBinding = new Binding(SomeText); sould be Binding myBinding = new Binding("SomeText"); Just quote SomeText. Commented Nov 10, 2022 at 6:28

1 Answer 1

47

Use BindingOperations

Binding binding = new Binding();
binding.Path = new PropertyPath("SomeText");
binding.Source = sourceObject;  // view model?

BindingOperations.SetBinding(theTextBlock, TextBlock.TextProperty, binding);
Sign up to request clarification or add additional context in comments.

1 Comment

FrameworkLement has a wrapper for that, it would be shorter. The only problem here was the setting of the binding path.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.