private void EndResize(object sender, MouseButtonEventArgs e)
        {
            _resizeMode = WindowResizeMode.None;

            var element = (UIElement)sender;
            element.ReleaseMouseCapture();
        }
        public MainWindow()
        {
            InitializeComponent();

            _resizeMode = WindowResizeMode.None;

            Messenger.Default.Register<CommandMessage>(this, OnCommand);
            Messenger.Default.Register<ResizeMainWindowCommandMessage>(this, OnResizeMainWindowCommand);

            Binding binding = new Binding("IsMaximized");
            binding.Source = DataContext;
            binding.Mode = BindingMode.OneWay;
            this.SetBinding(IsMaximizedProperty, binding);

            binding = new Binding("IsMinimized");
            binding.Source = DataContext;
            binding.Mode = BindingMode.OneWay;
            this.SetBinding(IsMinimizedProperty, binding);

            binding = new Binding("IsFullScreen");
            binding.Source = DataContext;
            binding.Mode = BindingMode.OneWay;
            this.SetBinding(IsFullScreenProperty, binding);

            binding = new Binding("TopMost");
            binding.Source = DataContext;
            binding.Mode = BindingMode.OneWay;
            this.SetBinding(TopmostProperty, binding);

            binding = new Binding("CenterWindow");
            binding.Source = DataContext;
            binding.Mode = BindingMode.OneWay;
            binding.Converter = new BooleanToWindowStartupLocationValueConverter();
            this.SetBinding(StartupLocationProperty, binding);
        }
 private void StartResize(UIElement element, WindowResizeMode resizeMode)
 {
     if (element.CaptureMouse())
     {
         _resizeMode = resizeMode;
     }
 }