C# 如何在滑块上画线或其他东西?
我将为我自己的玩家设计一个搜索栏。我已经在使用Slider了 场景:当用户单击按钮C# 如何在滑块上画线或其他东西?,c#,wpf,slider,line,draw,C#,Wpf,Slider,Line,Draw,我将为我自己的玩家设计一个搜索栏。我已经在使用Slider了 场景:当用户单击按钮A时,在搜索栏中会画一条线,并一直持续到用户单击按钮B。查看图片以便更好地理解!;) 我如何在滑块上画红线?我相信有两种解决方案 (或基于现有滑块)创建自己的滑块布局。我相信您必须从Slider扩展,以便添加额外的依赖属性来存储要绘制的线的信息 使用覆盖在现有滑块上 希望这将引导您朝着正确的方向前进。我认为最好的方法是使用自定义模板 更多信息请参见此处 您可以在此处下载默认控件模板 然后,您应该根据需要调整
A
时,在搜索栏中会画一条线,并一直持续到用户单击按钮B
。查看图片以便更好地理解!;)
我如何在滑块上画红线?我相信有两种解决方案
- (或基于现有滑块)创建自己的滑块布局。我相信您必须从Slider扩展,以便添加额外的依赖属性来存储要绘制的线的信息
- 使用覆盖在现有滑块上
希望这将引导您朝着正确的方向前进。我认为最好的方法是使用自定义模板 更多信息请参见此处 您可以在此处下载默认控件模板
然后,您应该根据需要调整默认值。从上面的链接查看slider.xaml文件,并根据需要更新以下部分
<ControlTemplate x:Key="HorizontalSlider" TargetType="{x:Type Slider}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" MinHeight="{TemplateBinding Slider.MinHeight}"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TickBar
Name="TopTick"
SnapsToDevicePixels="True"
Placement="Top"
Fill="{StaticResource GlyphBrush}"
Height="4"
Visibility="Collapsed" />
<Border
Name="TrackBackground"
Margin="0"
CornerRadius="2"
Height="4"
Grid.Row="1"
Background="{StaticResource LightBrush}"
BorderBrush="{StaticResource NormalBorderBrush}"
BorderThickness="1" />
<Track Grid.Row="1" Name="PART_Track">
<Track.DecreaseRepeatButton>
<RepeatButton
Style="{StaticResource SliderButtonStyle}"
Command="Slider.DecreaseLarge" />
</Track.DecreaseRepeatButton>
<Track.Thumb>
<Thumb Style="{StaticResource SliderThumbStyle}" />
</Track.Thumb>
<Track.IncreaseRepeatButton>
<RepeatButton
Style="{StaticResource SliderButtonStyle}"
Command="Slider.IncreaseLarge" />
</Track.IncreaseRepeatButton>
</Track>
<TickBar
Name="BottomTick"
SnapsToDevicePixels="True"
Grid.Row="2"
Fill="{TemplateBinding Foreground}"
Placement="Bottom"
Height="4"
Visibility="Collapsed" />
</Grid>
@townsean:应该没问题!每个人都可以看到: