Пример #1
0
 /// <summary>
 /// 添加热键绑定;
 /// </summary>
 /// <param name="uiObjectProvider"></param>
 /// <param name="command"></param>
 /// <param name="key"></param>
 /// <param name="modifier"></param>
 public static void AddKeyBinding(this IUIObjectProvider uiObjectProvider, ICommand command, Key key, ModifierKeys modifier = ModifierKeys.None)
 {
     if (uiObjectProvider.UIObject is UIElement uiElement)
     {
         uiElement.InputBindings.Add(new KeyBinding(command, key, modifier));
     }
 }
Пример #2
0
 void UninstallScale()
 {
     zoomable         = null;
     uiObjectProvider = null;
     if (zoomElement == null)
     {
         return;
     }
     if (metroWindow != null)
     {
         metroWindow.WindowDpiChanged -= MetroWindow_WindowDpiChanged;
     }
     zoomElement.Loaded            -= ZoomElement_Loaded;
     zoomElement.PreviewMouseWheel -= ZoomElement_PreviewMouseWheel;
     foreach (var b in commandBindings)
     {
         zoomElement.CommandBindings.Remove(b);
     }
     foreach (var b in keyBindings)
     {
         zoomElement.InputBindings.Remove(b);
     }
     zoomElement = null;
     ResetBindings();
 }
Пример #3
0
        public void InstallZoom(IUIObjectProvider provider, FrameworkElement?elem)
        {
            var zoomable = (provider as IZoomableProvider)?.Zoomable ?? provider as IZoomable;

            if (!(zoomable is null))
            {
                InstallScaleCore(provider, zoomable);
            }
Пример #4
0
 void InstallScaleCore(IUIObjectProvider provider, IZoomable zoomable)
 {
     UninstallScale();
     if (zoomable == null)
     {
         return;
     }
     this.zoomable = zoomable;
     SetZoomValue(zoomable.ZoomValue, force: true);
 }
Пример #5
0
        public void InstallZoom(IUIObjectProvider provider, FrameworkElement elem)
        {
            var zoomable = (provider as IZoomableProvider)?.Zoomable ?? provider as IZoomable;

            if (zoomable != null)
            {
                InstallScaleCore(provider, zoomable);
            }
            else
            {
                InstallScaleCore(provider, elem);
            }
        }
Пример #6
0
 void InstallScaleCore(IUIObjectProvider provider, FrameworkElement elem)
 {
     UninstallScale();
     zoomElement      = elem;
     uiObjectProvider = provider;
     if (zoomElement == null)
     {
         return;
     }
     zoomElement.PreviewMouseWheel += ZoomElement_PreviewMouseWheel;
     zoomElement.CommandBindings.AddRange(commandBindings);
     zoomElement.InputBindings.AddRange(keyBindings);
     SetZoomValue(ZoomValue, force: true);
 }