2009-07-15 13 views
6

トリガー内のTreeViewItemのカーソルを変更する必要があります。このコードは、他のすべてのプロパティで機能しますが、カーソルは機能しません。WPFカーソルを変更するためのトリガー

<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> 

どうすればよいでしょうか。

答えて

4

正しく実行していれば、うまくいくはずです。実際には、次の手順で問題を再現することができません。

  • VS 2008 C#WPFアプリケーションウィザードを使用して新しいプロジェクトを作成しました。 App.xamlとWindow1.xaml
  • 追加さWindow1のツールボックスから、標準的なツリービューで得
    • 2つのTreeViewItems '1'と '2'を追加しました。
    • スタイルをTargetType="TreeViewItem"と追加しました。
    • スニペットをそのまま貼り付けましたが、条件をコースのローカルに変更しました。

    これはうまく動作しています。つまり、TreeViewItem上にカーソルを置くと、トリガーで選択した値にカーソルがトリガーされます。 'Hand'または 'Wait'などです。しかし

    一つの重要な詳細:カーソルヘッダの真上でホバリングしながらのみ即ち、表示されない行全体(これはしかしWPFツリービューアイテムの行の動作と一致して、行の強調表示に関する関連例えばhereを参照されたいです)。 TeeViewItemヘッダーが空の場合、特にカーソルがでなく、が表示されます。ヘッダーのデータはまだ入力しましたか?

    それ以外の場合は、プロジェクト/環境の中で舞台裏で変わっているはずですか?このようなシンプルなリプロケースを試しましたか?

  • 関連する問題