WPF DataGrid中的自定义ScrollBar

编程入门 行业动态 更新时间:2024-10-24 01:48:56
本文介绍了WPF DataGrid中的自定义ScrollBar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想在我的WPF应用程序中为DataGrid制作一个自定义ScrollBar。 以下是理想的观点: postimg/ image / dy6j6c3y9 / [ ^ ] 我现在拥有的: postimg/image/jtzhxkhbp/ [ ^ ] 当前样式的XAML代码:

Hi, I want to make a custom ScrollBar for DataGrid in my WPF application. Here is the desired view: postimg/image/dy6j6c3y9/[^] What I have now: postimg/image/jtzhxkhbp/[^] The current XAML code for style:

<Style x:Key="ScrollThumbs" TargetType="{x:Type Thumb}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Thumb}"> <Grid x:Name="Grid"> <Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Fill="Transparent" /> <Border x:Name="Rectangle1" CornerRadius="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" removed="{StaticResource GreenBackColor}" /> </Grid> <ControlTemplate.Triggers> <Trigger Property="Tag" Value="Horizontal"> <Setter TargetName="Rectangle1" Property="Width" Value="Auto" /> <Setter TargetName="Rectangle1" Property="Height" Value="7" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}"> <Setter Property="Stylus.IsFlicksEnabled" Value="false" /> <Setter Property="Foreground" Value="#8C8C8C" /> <Setter Property="Background" Value="{StaticResource GrayBackColor}" /> <Setter Property="Width" Value="8" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ScrollBar}"> <Grid x:Name="GridRoot" Width="8" removed="{TemplateBinding Background}"> <Grid.RowDefinitions> <RowDefinition Height="0.00001*" /> </Grid.RowDefinitions> <Track x:Name="PART_Track" Grid.Row="0" IsDirectionReversed="true" Focusable="false"> <Track.Thumb> <Thumb x:Name="Thumb" removed="{TemplateBinding Foreground}" Style="{DynamicResource ScrollThumbs}" /> </Track.Thumb> <Track.IncreaseRepeatButton> <RepeatButton x:Name="PageUp" Command="ScrollBar.PageDownCommand" Opacity="0" Focusable="false" /> </Track.IncreaseRepeatButton> <Track.DecreaseRepeatButton> <RepeatButton x:Name="PageDown" Command="ScrollBar.PageUpCommand" Opacity="0" Focusable="false" /> </Track.DecreaseRepeatButton> </Track> </Grid> <ControlTemplate.Triggers> <Trigger SourceName="Thumb" Property="IsMouseOver" Value="true"> <Setter Value="{DynamicResource ButtonSelectBrush}" TargetName="Thumb" Property="Background" /> </Trigger> <Trigger SourceName="Thumb" Property="IsDragging" Value="true"> <Setter Value="{DynamicResource DarkBrush}" TargetName="Thumb" Property="Background" /> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter TargetName="Thumb" Property="Visibility" Value="Collapsed" /> </Trigger> <Trigger Property="Orientation" Value="Horizontal"> <Setter TargetName="GridRoot" Property="LayoutTransform"> <Setter.Value> <RotateTransform Angle="-90" /> </Setter.Value> </Setter> <Setter TargetName="PART_Track" Property="LayoutTransform"> <Setter.Value> <RotateTransform Angle="-90" /> </Setter.Value> </Setter> <Setter Property="Width" Value="Auto" /> <Setter Property="Height" Value="8" /> <Setter TargetName="Thumb" Property="Tag" Value="Horizontal" /> <Setter TargetName="PageDown" Property="Command" Value="ScrollBar.PageLeftCommand" /> <Setter TargetName="PageUp" Property="Command" Value="ScrollBar.PageRightCommand" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style x:Key="ScrollBarPageButton" TargetType="{x:Type RepeatButton}"> <Setter Property="SnapsToDevicePixels" Value="True"/> <Setter Property="OverridesDefaultStyle" Value="true"/> <Setter Property="IsTabStop" Value="false"/> <Setter Property="Focusable" Value="false"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type RepeatButton}"> <Polygon Points="0,0 0,6, 0,10" Stroke="Black" Fill="Black" /> </ControlTemplate> </Setter.Value> </Setter> </Style>

推荐答案

Hi... codeoverload.wordpress/2011/11/26/custom-scrollbars-in-wpf/[^] WPF DataGrid Custommization using Style and Template[^] Thank u. Hi... codeoverload.wordpress/2011/11/26/custom-scrollbars-in-wpf/[^] WPF DataGrid Custommization using Style and Template[^] Thank u.

You can try this : Styling A ScrollViewer/Scrollbar In WPF[^] & msdn.microsoft/en-us/library/ms742173(v=vs.110).aspx[ ^ ] You can try this : Styling A ScrollViewer/Scrollbar In WPF[^] & msdn.microsoft/en-us/library/ms742173(v=vs.110).aspx[^]

更多推荐

WPF DataGrid中的自定义ScrollBar

本文发布于:2023-11-08 07:49:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1568784.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自定义   WPF   DataGrid   ScrollBar

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!