WPF控件自定义设计

3
我需要创建一些控件,看起来像下面的图片,但我不知道要使用哪种控件或如何使其看起来像我想要的那样:
1) 一个水平条,我可以在代码中动态地更改其长度。 enter image description here 我尝试使用 "进度条 "控件,但我无法去掉绿色光晕效果和白色边框。 enter image description here 2) 滑块,长这样: enter image description here 请注意,我有所有滑块的图像,分开放置(背景与“加”和“减”按钮、拇指等)。
3) 动态更改叶片数量,例如: enter image description here
1个回答

4
你需要为滑块和进度条创建自定义模板。
MSDN上,有标准WPF控件的样式和模板。
然后,对于你的“刀片”控件,我认为你需要创建一个新的自定义控件,可能基于RangeBase
对于进度条,你可以从以下内容开始:
<ProgressBar VerticalAlignment="Top" Value="60" Maximum="100">
    <ProgressBar.Template>
        <ControlTemplate TargetType="{x:Type ProgressBar}" >
            <Grid Height="20">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="30"/>
                </Grid.ColumnDefinitions>

                <Grid x:Name="PART_Track" ClipToBounds="True">
                    <Rectangle x:Name="PART_Indicator" Margin="-7,0,0,0" HorizontalAlignment="Left" Fill="Green" RadiusX="7" RadiusY="7" Height="14"/>
                </Grid>

                <TextBlock Grid.Column="1" Text="{Binding Value, RelativeSource={RelativeSource TemplatedParent}, StringFormat={}{0} %}" Foreground="Black" VerticalAlignment="Center"/>
            </Grid>
        </ControlTemplate>
    </ProgressBar.Template>
</ProgressBar>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接