If you're referring to the properties of the Shell (which is the main window in your application), you could have a
ShellViewModel, which would be set as the DataContext of your Shell view. Then, you could bind properties in your view (such as
MinWidth, MinHeight, etc) to properties in your view model, and modify them from the view model.
For example, you could have a service that determines such properties based on some custom logic, and make your view model consume that service and update its properties based on the interaction with it.
You can read more about the MVVM pattern in this chapter from the Prism MSDN documentation:
Chapter 5: Implementing the MVVM Pattern
I hope you find this helpful.
Guido Leandro Maliandi