找回密码
 立即注册

QQ登录

只需一步,快速开始

fupch198473 讲师达人认证

注册会员

9

主题

14

帖子

71

积分

注册会员

积分
71

微信认证勋章讲师达人

fupch198473 讲师达人认证
注册会员   /  发表于:2021-4-13 09:57  /   查看:3689  /  回复:2
1金币
C1ProgressBar控件的进度bar背景色该如果改变?

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

2 个回复

倒序浏览
fupch198473讲师达人认证
注册会员   /  发表于:2021-4-13 10:07:52
沙发
已解决,新问题:怎么将百分比显示在控件中间?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-4-13 11:15:50
板凳
本帖最后由 Richard.Ma 于 2021-4-13 11:17 编辑

可以通过修改控件模板来实现


然后在模板中这里添加
  1. <ContentPresenter x:Name="contentPresenter" ContentSource="Value" Focusable="False" HorizontalAlignment="Center"   VerticalAlignment="Center"/>
  2.                         
复制代码




最终代码如下
  1.         <Style x:Key="C1ProgressBarStyle1" TargetType="{x:Type c1:C1ProgressBar}">
  2.             <Setter Property="Background" Value="#FFEFF0F1"/>
  3.             <Setter Property="Foreground" Value="#FFA0CEE4"/>
  4.             <Setter Property="IndeterminateForeground" Value="#FFA0CEE4"/>
  5.             <Setter Property="BorderBrush" Value="#FFA4AFBA"/>
  6.             <Setter Property="BorderThickness" Value="1"/>
  7.             <Setter Property="Padding" Value="1"/>
  8.             <Setter Property="CornerRadius" Value="2"/>
  9.             <Setter Property="Maximum" Value="100"/>
  10.             <Setter Property="IsTabStop" Value="False"/>
  11.             <Setter Property="MinHeight" Value="5"/>
  12.             <Setter Property="VerticalAlignment" Value="Stretch"/>
  13.             <Setter Property="Template">
  14.                 <Setter.Value>
  15.                     <ControlTemplate TargetType="{x:Type c1:C1ProgressBar}">
  16.                         <Grid>
  17.                             <VisualStateManager.VisualStateGroups>
  18.                                 <VisualStateGroup x:Name="CommonStates">
  19.                                     <VisualStateGroup.Transitions>
  20.                                         <VisualTransition From="Updating" GeneratedDuration="0" GeneratedEasingFunction="{x:Null}" Storyboard="{x:Null}" To="Determinate"/>
  21.                                         <VisualTransition From="Paused" GeneratedDuration="0" GeneratedEasingFunction="{x:Null}" To="Determinate">
  22.                                             <Storyboard>
  23.                                                 <DoubleAnimation Duration="0:0:0.25" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ProgressBarIndicator"/>
  24.                                             </Storyboard>
  25.                                         </VisualTransition>
  26.                                         <VisualTransition From="Indeterminate" GeneratedDuration="0" GeneratedEasingFunction="{x:Null}" Storyboard="{x:Null}" To="{x:Null}"/>
  27.                                     </VisualStateGroup.Transitions>
  28.                                     <VisualState x:Name="Determinate"/>
  29.                                     <VisualState x:Name="Updating"/>
  30.                                     <VisualState x:Name="Indeterminate">
  31.                                         <Storyboard>
  32.                                             <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="EllipseGrid"/>
  33.                                             <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="DeterminateRoot"/>
  34.                                         </Storyboard>
  35.                                     </VisualState>
  36.                                     <VisualState x:Name="Error">
  37.                                         <Storyboard>
  38.                                             <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ProgressBarIndicator">
  39.                                                 <DiscreteObjectKeyFrame KeyTime="0" Value="0"/>
  40.                                             </ObjectAnimationUsingKeyFrames>
  41.                                         </Storyboard>
  42.                                     </VisualState>
  43.                                     <VisualState x:Name="Paused">
  44.                                         <Storyboard>
  45.                                             <DoubleAnimation Duration="0:0:0.25" To="0.5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ProgressBarIndicator"/>
  46.                                         </Storyboard>
  47.                                     </VisualState>
  48.                                 </VisualStateGroup>
  49.                             </VisualStateManager.VisualStateGroups>
  50.                             <Grid x:Name="EllipseGrid" Opacity="0">
  51.                                 <Grid.ColumnDefinitions>
  52.                                     <ColumnDefinition Width="Auto"/>
  53.                                     <ColumnDefinition Width="Auto"/>
  54.                                     <ColumnDefinition Width="Auto"/>
  55.                                     <ColumnDefinition Width="Auto"/>
  56.                                     <ColumnDefinition Width="Auto"/>
  57.                                     <ColumnDefinition Width="Auto"/>
  58.                                     <ColumnDefinition Width="Auto"/>
  59.                                     <ColumnDefinition Width="Auto"/>
  60.                                     <ColumnDefinition Width="Auto"/>
  61.                                 </Grid.ColumnDefinitions>
  62.                                 <Grid.RenderTransform>
  63.                                     <TranslateTransform/>
  64.                                 </Grid.RenderTransform>
  65.                                 <Border x:Name="B1" Grid.Column="8" RenderTransformOrigin="0.5,0.5">
  66.                                     <Border.RenderTransform>
  67.                                         <TranslateTransform/>
  68.                                     </Border.RenderTransform>
  69.                                     <Ellipse x:Name="E1" Fill="{TemplateBinding IndeterminateForeground}" Height="{Binding TemplateSettings.EllipseDiameter, RelativeSource={RelativeSource TemplatedParent}}" RenderTransformOrigin="0.5,0.5" Width="{Binding TemplateSettings.EllipseDiameter, RelativeSource={RelativeSource TemplatedParent}}">
  70.                                         <Ellipse.RenderTransform>
  71.                                             <TranslateTransform/>
  72.                                         </Ellipse.RenderTransform>
  73.                                     </Ellipse>
  74.                                 </Border>
  75.                                 <Rectangle Grid.Column="7" Width="{Binding TemplateSettings.EllipseOffset, RelativeSource={RelativeSource TemplatedParent}}"/>
  76.                                 <Border x:Name="B2" Grid.Column="6" RenderTransformOrigin="0.5,0.5">
  77.                                     <Border.RenderTransform>
  78.                                         <TranslateTransform/>
  79.                                     </Border.RenderTransform>
  80.                                     <Ellipse x:Name="E2" Fill="{TemplateBinding IndeterminateForeground}" Height="{Binding TemplateSettings.EllipseDiameter, RelativeSource={RelativeSource TemplatedParent}}" RenderTransformOrigin="0.5,0.5" Width="{Binding TemplateSettings.EllipseDiameter, RelativeSource={RelativeSource TemplatedParent}}">
  81.                                         <Ellipse.RenderTransform>
  82.                                             <TranslateTransform/>
  83.                                         </Ellipse.RenderTransform>
  84.                                     </Ellipse>
  85.                                 </Border>
  86.                                 <Rectangle Grid.Column="5" Width="{Binding TemplateSettings.EllipseOffset, RelativeSource={RelativeSource TemplatedParent}}"/>
  87.                                 <Border x:Name="B3" Grid.Column="4" RenderTransformOrigin="0.5,0.5">
  88.                                     <Border.RenderTransform>
  89.                                         <TranslateTransform/>
  90.                                     </Border.RenderTransform>
  91.                                     <Ellipse x:Name="E3" Fill="{TemplateBinding IndeterminateForeground}" Height="{Binding TemplateSettings.EllipseDiameter, RelativeSource={RelativeSource TemplatedParent}}" RenderTransformOrigin="0.5,0.5" Width="{Binding TemplateSettings.EllipseDiameter, RelativeSource={RelativeSource TemplatedParent}}">
  92.                                         <Ellipse.RenderTransform>
  93.                                             <TranslateTransform/>
  94.                                         </Ellipse.RenderTransform>
  95.                                     </Ellipse>
  96.                                 </Border>
  97.                                 <Rectangle Grid.Column="3" Width="{Binding TemplateSettings.EllipseOffset, RelativeSource={RelativeSource TemplatedParent}}"/>
  98.                                 <Border x:Name="B4" Grid.Column="2" RenderTransformOrigin="0.5,0.5">
  99.                                     <Border.RenderTransform>
  100.                                         <TranslateTransform/>
  101.                                     </Border.RenderTransform>
  102.                                     <Ellipse x:Name="E4" Fill="{TemplateBinding IndeterminateForeground}" Height="{Binding TemplateSettings.EllipseDiameter, RelativeSource={RelativeSource TemplatedParent}}" RenderTransformOrigin="0.5,0.5" Width="{Binding TemplateSettings.EllipseDiameter, RelativeSource={RelativeSource TemplatedParent}}">
  103.                                         <Ellipse.RenderTransform>
  104.                                             <TranslateTransform/>
  105.                                         </Ellipse.RenderTransform>
  106.                                     </Ellipse>
  107.                                 </Border>
  108.                                 <Rectangle Grid.Column="1" Width="{Binding TemplateSettings.EllipseOffset, RelativeSource={RelativeSource TemplatedParent}}"/>
  109.                                 <Border x:Name="B5" Grid.Column="0" RenderTransformOrigin="0.5,0.5">
  110.                                     <Border.RenderTransform>
  111.                                         <TranslateTransform/>
  112.                                     </Border.RenderTransform>
  113.                                     <Ellipse x:Name="E5" Fill="{TemplateBinding IndeterminateForeground}" Height="{Binding TemplateSettings.EllipseDiameter, RelativeSource={RelativeSource TemplatedParent}}" RenderTransformOrigin="0.5,0.5" Width="{Binding TemplateSettings.EllipseDiameter, RelativeSource={RelativeSource TemplatedParent}}">
  114.                                         <Ellipse.RenderTransform>
  115.                                             <TranslateTransform/>
  116.                                         </Ellipse.RenderTransform>
  117.                                     </Ellipse>
  118.                                 </Border>
  119.                             </Grid>
  120.                             <Border x:Name="DeterminateRoot" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="{TemplateBinding CornerRadius}">
  121.                                 <Border x:Name="ProgressBarIndicator" Background="{TemplateBinding Foreground}" CornerRadius="{TemplateBinding CornerRadius}" HorizontalAlignment="Left" Margin="{TemplateBinding Padding}" Width="{Binding TemplateSettings.IndicatorWidth, RelativeSource={RelativeSource TemplatedParent}}"/>
  122.                             </Border>
  123.                             <ContentPresenter x:Name="contentPresenter" ContentSource="Value" Focusable="False" HorizontalAlignment="Center"   VerticalAlignment="Center"/>
  124.                         </Grid>
  125.                     </ControlTemplate>
  126.                 </Setter.Value>
  127.             </Setter>
  128.         </Style>
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部