【发布时间】:2019-11-29 21:40:45
【问题描述】:
我有一个在资源字典中定义的 Thumb 控件模板。
<ControlTemplate TargetType="{x:Type Thumb}">
<Border x:Name="PART_Border"
Cursor="SizeWE"
Padding="{TemplateBinding Padding}"
Background="{TemplateBinding Background}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ControlTemplate>
ControlTemplate 以我称为GridColumnHeaderGripper 的样式实现,而此样式在另一个资源字典中实现
<ControlTemplate TargetType="GridViewColumnHeader">
<DockPanel>
<Thumb x:Name="PART_HeaderGripper"
DockPanel.Dock="Right"
Margin="0,0,-8,0"
Cursor="SizeWE"
Style="{StaticResource GridColumnHeaderGripper}" />
etc...
效果很好,但是,当我开始拖动 Thumb 时,光标会从“SizeWE”变为“None”。我在 StackOverflow 上看到另一个类似的帖子,建议使用触发器来设置光标。
<ControlTemplate.Triggers>
<Trigger Property="IsDragging" Value="True">
<Setter Property="Cursor" Value="SizeWE"/>
</Trigger>
</ControlTemplate.Triggers>
但是这个解决方案对我不起作用。
据我了解,我们可以使用Mouse.OverrideCursor 静态属性覆盖光标。是否可以使用触发器设置此静态属性?拖动拇指时我可以做些什么来改变光标?
【问题讨论】:
标签: wpf xaml controltemplate