Ich habe VerticalScrollBar
in meinem ListBox
. Ich möchte einen Trigger erstellen, der die Breite des VerticalScrollBar
vergrößert, wenn er und der Bereich (1-2 Pixel) um ihn herum Fokus erhält.ScrollBar Breite erhöhen, wenn IsFocused == true
habe ich versucht, es so zu tun, aber es funktioniert nicht richtig:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type ScrollBar}" >
<Style.Resources>
<Style x:Key="ScrollBarThumbStyle" TargetType="{x:Type Thumb}">
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="Focusable" Value="True"/>
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Rectangle Fill="#36B448" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ControlTemplate x:Key="VerticalScrollBar" TargetType="{x:Type ScrollBar}">
<Grid Background="#FFB1B1B1" Width="5" >
<Track Name="PART_Track" IsDirectionReversed="True">
<Track.Thumb>
<Thumb Style="{StaticResource ScrollBarThumbStyle}" />
</Track.Thumb>
</Track>
</Grid>
</ControlTemplate>
<Style.Triggers>
<Trigger Property="Orientation" Value="Horizontal">
<Setter Property="Template" Value="{StaticResource HorizontalScrollBar}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Width" Value="22" />
</Trigger>
<!--<Trigger Property="Control.IsFocused" Value="True">
<Setter Property="Width" Value="15"></Setter>
</Trigger>-->
</Style.Triggers>
Wie kann ich es tun?
Ich denke, dass EventTriggers
können es einfacher machen ...
Setzen Sie es in Gotfocus und Lostfocus? – BugFinder
geben Sie uns bitte das komplette Xaml –