private void Window_Loaded(object sender, RoutedEventArgs e)
{
InitializePropertyGrid(this.propertyGridClusteringHost, this.clusteringSettings, MainWindow_PropertyValueChanged);
InitializePropertyGrid(this.propertyGridShapeHost, this.shapeSettings, MainWindow_PropertyValueChanged);
InitializePropertyGrid(this.propertyGridHandHost, this.handSettings, MainWindow_PropertyValueChanged);
this.presenter = new MainViewModel(this.clusteringSettings, this.shapeSettings, this.handSettings);
this.DataContext = presenter;
this.displayControl.DataContext = presenter;
this.presenter.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(presenter_PropertyChanged);
}