You don't need to create dependency properties for your view model properties - regular properties will suffice. You will however have to use dependency properties if you're going to bind to that property (for example, TextBox.Text
is a dependency property - you wouldn't be able to bind to it if it wasn't). You can keep your properties as they were - just make sure you implement INotifyPropertyChanged
.
Dependency properties have other uses other than just for data binding, but I won't elaborate as it's a very large subject and you can find in other resources. Other than that, you can read more on how to implement the MVVM pattern here. This page also includes examples where you can see that the viewmodel does not need to have any dependency properties defined.