Set the first viewmodel matching the exact specified type. If none is found, set the first viewmodel matching a child of the specified type The viewmodel needs to be settable and it should have a valid name. If the view is initialized, all bindings that uses that viewmodel will be re-executed with the new viewmodel instance.