После переопределения стилей ScrollBar в WPF при перетаскивании ползунка мышкой, scrollbar начинает некорректно себя вести, а именно не реагирует на прокручивание колесиком мышки, хотя до момента перетаскивания все работает нормально. каким образом можно решить данную проблему? Xaml код разметки стилей:
<!-- Переопределение Thumb -->
<Style x:Key="@Style/Thumb" TargetType="{x:Type Thumb}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Rectangle x:Name="Thumbs" Fill="{StaticResource ResourceKey=@SolidColorBrush/MegaGray}" />
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource ResourceKey=@Storyboard/ScrollbarMouseOver}" />
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource ResourceKey=@Storyboard/ScrollbarMouseDown}" />
</Trigger.ExitActions>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- Переопределение ScrollBar -->
<Style x:Key="@Style/ScrolBar" TargetType="{x:Type ScrollBar}">
<Setter Property="Cursor" Value="Arrow" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ScrollBar}">
<Grid Background="{StaticResource ResourceKey=@SolidColorBrush/DoubleGray60}">
<Track Name="PART_Track" IsDirectionReversed="True">
<Track.Thumb>
<Thumb Style="{StaticResource ResourceKey=@Style/Thumb}" />
</Track.Thumb>
</Track>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Orientation" Value="Horizontal">
<Setter Property="Height" Value="10" />
</Trigger>
<Trigger Property="Orientation" Value="Vertical">
<Setter Property="Width" Value="10" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- Переопределение ScrollViewer -->
<Style x:Key="@Style/ScrollViewer" TargetType="{x:Type ScrollViewer}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<ScrollContentPresenter Grid.Column="0" />
<ScrollBar
Grid.Column="1"
Maximum="{TemplateBinding ScrollViewer.ScrollableHeight}"
Minimum="0"
Style="{StaticResource ResourceKey=@Style/ScrolBar}"
ViewportSize="{TemplateBinding ScrollViewer.ViewportHeight}"
Visibility="{TemplateBinding ScrollViewer.ComputedVerticalScrollBarVisibility}"
Value="{Binding Path=VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource Mode=TemplatedParent}}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Было найдено простое решение. В определение стиля ScrollViewer для Scrollbar добавить атрибут x:Name="PART_VerticalScrollBar
<ScrollBar
Grid.Column="1"
Maximum="{TemplateBinding ScrollViewer.ScrollableHeight}"
Minimum="0"
Style="{StaticResource ResourceKey=@Style/ScrolBar}"
ViewportSize="{TemplateBinding ScrollViewer.ViewportHeight}"
Visibility="{TemplateBinding ScrollViewer.ComputedVerticalScrollBarVisibility}"
Value="{Binding Path=VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource Mode=TemplatedParent}}" />
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как можно использовать ConcurrentBag при работе с БД? и в каких случаях это нужноБольшинство примеров рассмотрены с добавлением string/int значений
Как убрать в datagridview tabs вот эти квадратики мини рамка сколько гуглил смотрел документацию ничего не нашел