Wpf圆角进度条

时间:2015-09-02 13:05:32

标签: c# wpf templates

我试图制作一个带圆角的简单进度条。

这是我的xaml:

 <Grid>
    <ProgressBar Minimum="0" Maximum="100"  Height="50"  Value="50" Name="pbStatus" BorderBrush="Black" BorderThickness="3" Foreground="#336699"  />
    <TextBlock Text="{Binding ElementName=pbStatus, Path=Value, StringFormat={}{0:0}%}" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>

我试图寻找Border-Radius属性....但我发现它。 有什么帮助吗?

感谢。

2 个答案:

答案 0 :(得分:11)

Visual Studio Designer 右键单击ProgressBar&gt;编辑模板&gt;编辑副本, 在生成的样式中,将CornerRadius添加到Border,并在填充矩形中设置RadiusXRadiusY

<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="30"/>
                        <Rectangle x:Name="PART_Track" />
                        <Grid x:Name="PART_Indicator" ClipToBounds="true" HorizontalAlignment="Left">
                            <Rectangle x:Name="Indicator" Fill="{TemplateBinding Foreground}" RadiusX="30" RadiusY="30"/>
                            <Rectangle x:Name="Animation" Fill="{TemplateBinding Foreground}" RenderTransformOrigin="0.5,0.5" RadiusX="30" RadiusY="30">
                                <Rectangle.RenderTransform>
                                    <TransformGroup>
                                        <ScaleTransform/>
                                        <SkewTransform/>
                                        <RotateTransform/>
                                        <TranslateTransform/>
                                    </TransformGroup>
                                </Rectangle.RenderTransform>
                            </Rectangle>
                        </Grid>

答案 1 :(得分:2)

在内部放置边框,然后设置边框的角半径属性。这是描述这个的链接 progressbar bar style right radius