There is plenty of room for multiple options, for articles that address multiple different audience expertise levels.
Thanks for this article, it came in handy for me in a particular use case just now.
Result property - the same property you're trying to bind.
If this binding were two-way, it would write its new value to its source property - the same property as the target property - leading to an infinite loop (actually, stack overflow). We are routing this bug to the product unit who works on that specific feature area.
It is a textbox with a button which opens a Open File Dialog. So I have a Binding to my Dependency Property "File Name" to the property in my View Model.
The Text property of the Text Box is bound to my dependency property "File Name". After changing the "File Name" property (changes direct to the textbox or selecting a file via the dialog), the viewmodel property doesn't update.
and I had prepared a long, off-topic rant about MVVM because of a bit of trouble I’m having with it at the moment. Maybe I’ll make it an on-topic post at some point in the future.This means when anyone else writes a value directly to the User Control1. This happen when you type into either the "Direct Binding" textbox or into the "Result" textbox (within the user control); both of these are bound to the User Control1.Result property and hence both will write a value that replaces the binding.In fact, Dependency Properties are faster if you look up the documentation in MSDN.Now, I don't know whether the approach documented in this article is still faster, it may just be the typical use of Dependency Properties that is faster rather than this slight variation. But I definitely like having yet another option pointed out.Each dependency property exposed by a class has a corresponding public static field of type Dependency Property exposed on that same class.This is the identifier for the dependency property.This is actually a good thing, because that binding is actually circular.The user control sets its Data Context to refer to itself, so the "Path=Result" in the binding refers to the User Control1.BUT; Setting the Mode=Two Way results in a stack overflow runtime error.“” Setting Mode=One Way To Source causes Visual studio to crash immediately on typing One Way To Source.