User controls are a great way couple logic and XAML in an encapsulated way. A user control contrasts with a custom control in that a custom control contains no XAML. And though it says you may safely continue, it doesn’t continue safely at all. It means the binding target isn’t a dependency property!
You can reuse a user control over and over and the logic is isolated from the general flow of your program. Custom control can be (and is sometimes are required to be) templated (for example, a Data Template). This is confusing to XAML developers because they are accustomed to binding to CLR properties that implement INotify Property Changed in their view models. A data binding source source CAN be a CLR-type property.
Because of the depth of this topic I have decided to split this tutorial up into a series of blog posts, each of which explore a different aspect of the binding framework.
You will, however, discover that all data binding has stopped working. Rather than explain why this is happening, let me simply share the solution.The general idea is that your code which handles application logic, business rules, etc.gets placed into View Model classes, and all visual widgets/controls get placed into XAML views.Hello @rally25rs, The described behavior is actually expected, because the MVVM value binding updates the model on widget change, which does not happen on initial loading/binding.In general, the Drop Down List widget should always have a selected item - if there is no value, then the first one will be selected.If you would like to get an additional technical support on the subject, then I would like to point you to the two available options: Generally speaking, the model should be the single source of truth and the UI needs to be synced to it on initial load.