Skip to main content
All docs
V26.1
  • ViewModelLocator Class

    Locates and creates ViewModel instances for views by naming conventions and configured assemblies.

    Namespace: DevExpress.Mvvm

    Assembly: DevExpress.Mvvm.v26.1.dll

    Declaration

    public class ViewModelLocator :
        LocatorBase,
        IViewModelLocator

    Remarks

    Configure the ViewModelLocator to set up MainWindow data binding:

    using System;
    using System.Windows;
    using DevExpress.Mvvm;
    
    namespace MvvmApp {
        public partial class App : Application {
            protected override void OnStartup(StartupEventArgs e)
            {
                var locator = new ViewModelLocator(typeof(App).Assembly);
                ViewModelLocator.Default = locator;
    
                var window = new MainWindow();
    
                var vmType = locator.ResolveViewModelType(typeof(MainViewModel).FullName!);
                window.DataContext = Activator.CreateInstance(vmType ?? typeof(MainViewModel));
    
                MainWindow = window;
                window.Show();
                base.OnStartup(e);
            }
        }
    }
    

    Declare a MainViewModel class with a read-only Header property that contains text for UI binding:

    namespace MvvmApp.ViewModels {
        public sealed class MainViewModel {
            public string Header => "Hello from ViewModelLocator";
        }
    }
    

    Inheritance

    Object
    DevExpress.Mvvm.LocatorBase
    ViewModelLocator
    See Also