Binding String Property in Code-Behind TextBlock
Asked Answered
N

1

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.

Nathanaelnathanial answered 12/4, 2012 at 20:51 Comment(1)
Binding myBinding = new Binding(SomeText); sould be Binding myBinding = new Binding("SomeText"); Just quote SomeText.Ingunna
M
47

Use BindingOperations

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

BindingOperations.SetBinding(theTextBlock, TextBlock.TextProperty, binding);
Mordacious answered 12/4, 2012 at 21:3 Comment(1)
FrameworkLement has a wrapper for that, it would be shorter. The only problem here was the setting of the binding path.Gherardo

© 2022 - 2024 — McMap. All rights reserved.