如何更改整个画布的鼠标光标形状?
问题描述:
我有几个文本框,按钮和画布的WPF窗口,我绘制图形。我想在画布上放置十字光标,因为这样用户可以用更科学的方式指出有趣的区域:-)如何更改整个画布的鼠标光标形状?
奇怪的是,当我将光标设置为交叉画布时,它仍然是一个标准箭头相反,但是当鼠标悬停在画布上的任何线或折线上时,它就会交叉。
那么如何设置整个画布的光标(包括“空白”空间,没有任何绘制的地方)?
答
要更改整个画布的鼠标光标形状,请在画布上添加透明背景。
这里有一个例子:
<Canvas Grid.Row="2" Background="Transparent">
<Polyline Points="25,25 0,50 25,75 50,50 25,25 25,0"
Stroke="Blue" StrokeThickness="10"
Canvas.Left="75" Canvas.Top="50">
<Polyline.RenderTransform>
<RotateTransform CenterX="0" CenterY="0" Angle="45" />
</Polyline.RenderTransform>
</Polyline>
<Canvas.Style>
<Style TargetType="{x:Type Canvas}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True" >
<Setter Property="Cursor" Value="Cross" />
</Trigger>
</Style.Triggers>
</Style>
</Canvas.Style>
</Canvas>
非常感谢您!顺便说一句。设置光标要简单得多 - Canvas标签中的Cursor =“Cross”。 – greenoldman 2010-09-12 10:15:12