我需要在触发器中更改TreeViewItem的光标。此代码适用于所有其他属性,但不适用于Cursor:
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="QuickPhrases:TreeViewChecker.IsMouseDirectlyOverItem"
Value="True">
</Condition>
<Condition Property="CanSelect" Value="True"></Condition>
</MultiTrigger.Conditions>
<Setter Property="BorderThickness" Value="0,0,0,1" />
<Setter Property="BorderBrush" Value="Blue" />
<Setter Property="Cursor" Value="Hand"></Setter>
<Setter Property="Foreground" Value="Blue"></Setter>
</MultiTrigger>
</Style.Triggers>
给出了什么,以及如何正确地做到了?
答案 0 :(得分:4)
你正确地做,它应该工作。事实上,我无法通过以下步骤重现您的问题:
TargetType="TreeViewItem"
。嗯,这只是工作正常,即一旦悬停在TreeViewItem上,光标就会被触发到我在触发器中选择的任何值,无论是“手”还是“等待”或者其他。
一个重要的细节是:光标只在直接悬停在标题上时出现,即不整行(这与WPF TreeViewItem行行为一致,请参阅here表示关于行突出显示的相关示例)。特别是当TeeViewItem标头为空时光标会显示不!您是否提供了标题的任何数据?
否则他们的项目/环境幕后必定是奇怪的事情?你有没有试过这样一个简单的repro案例?