3

我需要创建一些如下图所示的控件,但我不知道要使用哪个控件或如何使它看起来像我想要的那样:

1)一个水平条,这样我就可以在代码中动态改变它的长度。

在此处输入图像描述

我尝试过使用“进度条”控件,但我无法摆脱绿色发光效果,也无法摆脱白色边框:

在此处输入图像描述

2) 一个看起来像这样的滑块:

在此处输入图像描述

请注意,我分别拥有滑块的所有图像。(带有“加号”和“减号”按钮的背景,拇指等..)

3)动态改变刀片的数量,比如(当我有刀片的图像时):

在此处输入图像描述

4

1 回答 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>
于 2013-01-27T17:27:59.517 回答