【问题标题】:Change keys Extended WPF Toolkit Zoombox更改键扩展 WPF 工具包 Zoombox
【发布时间】:2016-10-24 10:37:02
【问题描述】:

我正在使用扩展 WPF 工具包的 Zoombox。现在,Ctrl + 拖放正在改变位置,alt + Scroll 正在改变缩放。从逻辑上讲,我宁愿扭转这种局面,因为在大多数软件中 Ctrl+Scroll 用于缩放。如何更改这些键?我玩过DragModifiersRelativeZoomModifiers 属性,但无法让它工作。

我尝试了以下方法:

<xctk:Zoombox Margin="20" ClipToBounds="False" HorizontalAlignment="Stretch" Name="CanvasZoombox" VerticalAlignment="Stretch" Scale="1" AutoWrapContentWithViewbox="False">
    <xctk:Zoombox.ZoomModifiers>
        <xctk:KeyModifier>LeftCtrl</xctk:KeyModifier>
    </xctk:Zoombox.ZoomModifiers>
    <xctk:Zoombox.RelativeZoomModifiers>
        <xctk:KeyModifier>LeftCtrl</xctk:KeyModifier>
    </xctk:Zoombox.RelativeZoomModifiers>

    <Viewbox Stretch="Uniform" Name="CanvasViewbox" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" OpacityMask="White">
        <Canvas  Name="LabelCanvas" Background="#FFC3C3C3"/>
    </Viewbox>
</xctk:Zoombox>

不幸的是,这并没有改变任何事情

【问题讨论】:

    标签: c# wpf xaml wpf-extended-toolkit


    【解决方案1】:

    既然你没有说明,为什么你没有让它工作,这里是一个代码隐藏示例:

      var zoomKeys = new KeyModifierCollection();
      zoomKeys.Add(KeyModifier.Ctrl);
      zoomKeys.Add(KeyModifier.Exact);
      var dragKeys = new KeyModifierCollection();
      dragKeys.Add(KeyModifier.Alt);
      dragKeys.Add(KeyModifier.Exact);
      this.zoombox.ZoomModifiers = zoomKeys;
      this.zoombox.DragModifiers = dragKeys;
    

    由于这些修饰符都是DependencyProperties,所以你也可以用MVVM-fashioned方式绑定它们。

    更新

    XAML方式

    <xctk:Zoombox.ZoomModifiers>
          <xctk:KeyModifierCollection>
                <xctk:KeyModifier>Ctrl</xctk:KeyModifier>
                <xctk:KeyModifier>Exact</xctk:KeyModifier>
           </xctk:KeyModifierCollection>
     </xctk:Zoombox.ZoomModifiers>
     <xctk:Zoombox.DragModifiers>
           <xctk:KeyModifierCollection>
                 <xctk:KeyModifier>Alt</xctk:KeyModifier>
                 <xctk:KeyModifier>Exact</xctk:KeyModifier>
           </xctk:KeyModifierCollection>
     </xctk:Zoombox.DragModifiers>
    

    诀窍是将KeyModifier 包装在其适合的集合KeyModifierCollection

    【讨论】:

    • 我做了一个帖子更新,我很抱歉没有提到一开始什么不起作用。也许这对你的答案有帮助?您的答案也可以,但我认为 XAML 答案会更好! (感谢您迄今为止的帮助)
    • @Derp 更新答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多