C# 将IshittesVisible设置为false会影响wpf中的光标
我有一个网格。在里面我有一些控制 预期行为: 当网格中的一个控件发生鼠标下移时,我需要将光标更改为等待,并需要在特定时间前防止下一次点击,因此在C# 将IshittesVisible设置为false会影响wpf中的光标,c#,wpf,cursor,C#,Wpf,Cursor,我有一个网格。在里面我有一些控制 预期行为: 当网格中的一个控件发生鼠标下移时,我需要将光标更改为等待,并需要在特定时间前防止下一次点击,因此在MouseDown事件中,我将光标设置为等待,并将图像的ishitestvisible设置为false。但这并不像预期的那样有效 代码块 我得到的是: 在“Source\u mousedown事件”中,我将当前光标设置为等待,并将ishitestvisible设置为false。但等待光标未设置为图像。如果我删除了图像的ishitestvisible属
MouseDown
事件中,我将光标设置为等待,并将图像的ishitestvisible
设置为false。但这并不像预期的那样有效
代码块
我得到的是:
在“
Source\u mousedown事件
”中,我将当前光标设置为等待,并将ishitestvisible
设置为false
。但等待光标未设置为图像。如果我删除了图像的ishitestvisible
属性,则等待光标也会应用于图像。有人能帮我吗?如果将UIelement的IshitteVisible属性设置为false,它将不再响应鼠标输入,也不会触发与鼠标相关的事件。
由于将IshittesVisible设置为false,鼠标无法在窗口中看到UIElement。因此网格的游标属性不起作用
您可以使用IsEnabled属性在特定时间防止鼠标按下事件,而不是IsitTestVisible
我认为这将解决您的问题。如果将UIelement的IshitteVisible属性设置为false,它将不再响应鼠标输入,也不会触发与鼠标相关的事件。 由于将IshittesVisible设置为false,鼠标无法在窗口中看到UIElement。因此网格的游标属性不起作用 您可以使用IsEnabled属性在特定时间防止鼠标按下事件,而不是IsitTestVisible 我想这个能解决你的问题
<Grid x:Name="Grid1" Grid.Row="1" Grid.Column="1" Cursor="{Binding CurrentCursor}">
<Canvas x:Name="canvasElement" Width="{Binding ElementName=pupilGrid, Path=ActualWidth}" Height="{Binding ElementName=pupilGrid, Path=ActualHeight}" IsManipulationEnabled="True">
<Image x:Name="pupilSource" Width="{Binding ElementName=pupilGrid, Path=ActualWidth}" Height="{Binding ElementName=pupilGrid, Path=ActualHeight}" Source="{Binding ImageSource}" MouseDown="Source_MouseDown" IsHitTestVisible="{Binding CanHitAxis}"/>
<controls:Control x:Name="targetControl" Width="30" Height="30" ClipToBounds="False" Canvas.Left="0" Canvas.Top="0" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Canvas>
</Grid>