現在、TreeView のヘッダーにカーソルを合わせると、ヘッダーが強調表示されます。TreeView の行の任意の部分にカーソルを合わせて、行全体を強調表示したいと思います (Windows エクスプローラーと同じように)。誰かがそれを行う方法の例を提供できますか?
7081 次
1 に答える
4
ControlTemplate
を実際にコントロールのTreeViewItem
幅全体に変更する必要があります。
この問題に関する議論と解決策がここにあります。
http://leecampbell.blogspot.com/2009/01/horizontal-stretch-on-treeviewitems.html
議論なしで、ここに別の長い答えがあります:
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/b04f73e2-0b10-4d97-a6da-64df2e30c21d/
だから私はこれらの例がガイドであることを意味しました. 上記の 2 番目のリンク (MSDN フォーラムから) とまったく同じコードを使用し、これを追加するだけの場合:
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="Bd"
Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
</Trigger>
マウスオーバーでハイライト色が表示されるControlTemplate
ことがわかります。明らかに、色などを微調整する必要がありますが、それが必要なことです。幅全体を占めるように の を変更し、 for を追加ControlTemplate
します。TreeViewItem
Trigger
IsMouseOver
于 2012-05-03T15:06:41.393 に答える