private void InitializeEvents() { base.DataContextChanged += (s, e) => { if (base.DataContext != null && base.DataContext is ViewViewModel) { Model = base.DataContext as ViewViewModel; } }; base.PreviewMouseLeftButtonDown += (s, e) => { if (_model != null) { _model.MouseLeftButtonDown(e.GetPosition(this).ToPoint2()); } }; base.PreviewMouseLeftButtonUp += (s, e) => { if (_model != null) { _model.MouseLeftButtonUp(e.GetPosition(this).ToPoint2()); } }; base.PreviewMouseMove += (s, e) => { if (_model != null) { _model.MouseMove(e.GetPosition(this).ToPoint2()); } }; base.PreviewMouseRightButtonDown += (s, e) => { if (_model != null) { _model.MouseRightButtonDown(e.GetPosition(this).ToPoint2()); } }; }