1

現在、TreeView のヘッダーにカーソルを合わせると、ヘッダーが強調表示されます。TreeView の行の任意の部分にカーソルを合わせて、行全体を強調表示したいと思います (Windows エクスプローラーと同じように)。誰かがそれを行う方法の例を提供できますか?

ここに画像の説明を入力

4

1 に答える 1

4

ControlTemplateを実際にコントロールのTreeViewItem幅全体に変更する必要があります。

この問題に関する議論と解決策がここにあります。

http://leecampbell.blogspot.com/2009/01/horizo​​ntal-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します。TreeViewItemTriggerIsMouseOver

于 2012-05-03T15:06:41.393 に答える