我制作了一个简单的图像编辑器,并且我有一个ScrollViewer元素,我在其中放置了一张图片.Scrollview有一些用于放大和缩小图片的绑定:

<ScrollViewer>
    <ScrollViewer.InputBindings>
        <MouseBinding Gesture="{ext:MouseWheel Direction=Up, Keys=Control}" Command="{Binding ZoomInImageCommand}"/>
        <MouseBinding Gesture="{ext:MouseWheel Direction=Down, Keys=Control}" Command="{Binding ZoomOutImageCommand}"/>
    </ScrollViewer.InputBindings>
    ...
</ScrollViewer>

在工具栏上有一些工具,比如光标(什么都不做,只是在图像周围移动),裁剪,旋转等.

<ToolBar>
    <RadioButton x:Name="CursorTool" Style="{StaticResource {x:Type ToggleButton}}">
        ...                         
    </RadioButton>
    <RadioButton x:Name="CropTool" Style="{StaticResource {x:Type ToggleButton}}">
        ...                         
    </RadioButton>
    ...
</ToolBar>

因此,我需要一个滚动浏览器的绑定工作时,只有光标工具被选中.如何才能做到这一点?

推荐答案

您只需将Parent的属性IsChecked of CursorTool绑定到IsHitTestVisible(此处为ScrollViewer):

<ScrollViewer IsHitTestVisible="{Binding ElementName=CursorTool, Path=IsChecked}"

Csharp相关问答推荐

在实际上是List T的 IESEARCH上多次调用First()是否不好?

Regex在c#中完全匹配

Monty Hall游戏节目模拟给我50/50的结果

有没有一种方法可以防止在编译时在MicrosoftC或非单线程上下文中调用方法?

CS0103 dlibdotnet和www.example.com facerect不在上下文中

从依赖项容器在.NET 8中的Program.cs文件中添加IOC

ASP.NET Core AutoMapper:如何解决错误 CS0121调用在以下方法或属性之间不明确

try 在.Net核心身份注册页面中使用AJAX,但没有成功..NET Core 5.0 Razor页面应用程序

如果设置了另一个属性,则Newtonsoft JSON忽略属性

C#Null判断处理失败

什么类型的对象存储在大对象堆(LOH)中

源代码生成器:CS8795分部方法';Class1.GetS2(字符串)';必须有实现部分,因为它有可访问性修饰符?

如何返回具有泛型的类?

匿名类型的AbstractValidator

在C#中,当输入一个方法/局部函数时,我的IEnumerator被重置/重新创建.为什么?

将J数组转换为列表,只保留一个嵌套的JToken

错误:此版本的Visual Studio无法打开以下项目

当我手动停止和关闭系统并打开时,Windows服务未启动

为什么我不能在固定语句中使用外部函数?

如何在flutter dart中使用publicKey.xml文件进行rsa加密,我遇到了问题Exception:Could not parse BigInt