private void OnFileSystemLocked(object sender, LockedEventArgs e) { if (!this.Dispatcher.CheckAccess()) { this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new LockedChangedHandler((s, e2) => { OnFileSystemLocked(sender, e2); }), sender, e); return; } if (e.IsLocked) { NavControl.SelectedIndex = 0; } }
private void OnProfileLocked(object sender, LockedEventArgs e) { if (!this.Dispatcher.CheckAccess()) { this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new LockedChangedHandler((s, e2) => { OnProfileLocked(sender, e2); }), sender, e); return; } IsChangeEnabled = !e.IsLocked; }
private void OnClosingLocked(object sender, LockedEventArgs e) { if (!this.Dispatcher.CheckAccess()) { this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new LockedChangedHandler((s, e2) => { OnClosingLocked(sender, e2); }), sender, e); return; } if (hWnd == IntPtr.Zero) { hWnd = new System.Windows.Interop.WindowInteropHelper(Application.Current.MainWindow).Handle; } //Заблокировать закрытие окна IsCloseLocked = e.IsLocked; this.IsCloseButtonEnabled = !e.IsLocked; //Отключим кнопку "Х" NativeMethods.EnableMenuItem(NativeMethods.GetSystemMenu(hWnd, false), NativeMethods.SC_CLOSE, e.IsLocked ? NativeMethods.MF_DISABLED | NativeMethods.MF_GRAYED : NativeMethods.MF_ENABLED); }