gpt4 book ai didi

c# - 更改 key 扩展 WPF 工具包 Zoombox

转载 作者:行者123 更新时间:2023-11-30 23:19:32 32 4
gpt4 key购买 nike

我正在使用扩展 WPF 工具包的 Zoombox。现在,Ctrl + 拖放正在改变位置,alt + Scroll 正在改变缩放。从逻辑上讲,我宁愿把它转过来,因为在大多数软件中 Ctrl+Scroll 用于缩放。如何更改这些 key ?我试过 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>

不幸的是,这并没有改变什么

最佳答案

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

  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;

由于这些 Modifiers 都是 DependencyProperties,您也可以用 MVVM 风格的方式绑定(bind)它们。

更新

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

关于c# - 更改 key 扩展 WPF 工具包 Zoombox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40216320/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com