C#WPF在一个单元格中显示几个进度条

时间:2018-01-06 17:49:12

标签: c# wpf progress-bar

我需要在ListView中显示一个进度条,其中包含几个级别的进度。

具体来说,我有一份合同,我需要知道几项操作的进展,例如准备就绪率为75%,装配率为50%,焊接率为25%,我想展示类似的东西:

enter image description here

现在我发现这段代码显示了一个进度条:

<GridViewColumn Width="140" Header="Progress">
     <GridViewColumn.CellTemplate>
          <DataTemplate>
               <ProgressBar Maximum="100" Value="50" Background="WhiteSmoke" BorderThickness="1" Height="20" Opacity="0.5" Foreground="Red"/>
          </DataTemplate>
     </GridViewColumn.CellTemplate>
</GridViewColumn>

但我找不到制作“多层次”栏的方法。

编辑:找到该帖子的解决方案:这是一种用“渐变”来“捣乱”的方法 Fill xaml rectangle multiples solidcolorbrush

在简历中,需要使用“LinearGradientBrush”,但没有渐变,我在XAML中的解决方案看起来像这样:

<GridViewColumn Width="140" Header="Progress">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <Rectangle Name="PART_Track"  Height="20" Stroke="black" StrokeThickness="3">
                <Rectangle.Fill>
                    <LinearGradientBrush StartPoint="0 0" EndPoint="0.9 0">
                        <GradientStop Color="Green" Offset="0.2"/>
                        <GradientStop Color="Green" Offset="0.4"/>
                        <GradientStop Color="Blue" Offset="0.4"/>
                        <GradientStop Color="Blue" Offset="0.6"/>
                        <GradientStop Color="Red" Offset="0.6"/>
                        <GradientStop Color="Red" Offset="0.8"/>
                        <GradientStop Color="White" Offset="0.8"/>
                        <GradientStop Color="White" Offset="0.9"/>
                    </LinearGradientBrush>
                </Rectangle.Fill>
            </Rectangle>
         </DataTemplate>
     </GridViewColumn.CellTemplate>
 </GridViewColumn>

0 个答案:

没有答案