作为进度背景的DataGridView行(ProgressBar as background for

2019-09-30 03:40发布

是否有可能设置进度为背景的DataGridView行? 或颜色只有行的一部分从左至右? 我有一个代表一些动态变化的数据行,我需要证明的进展莫名其妙。 我想用一整行的背景为一个进度条,我该怎么办呢?

Answer 1:

如果你想使用整个排它可能是最好覆盖默认模板中的DataGridRow使用DataGrid.RowStyle ,那么你躺在其他内容下方,如进度

<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate TargetType="{x:Type DataGridRow}">
            <Border x:Name="DGR_Border"
              BorderBrush="{TemplateBinding BorderBrush}"
              BorderThickness="{TemplateBinding BorderThickness}"
              SnapsToDevicePixels="True">
            <Grid>
                <ProgressBar Value="{Binding SomeProperty" Minimum="0" Maximum="100"/>
                <!-- Rest of default template here -->
            </Grid>
        </ControlTemplate>
    </Setter.Value>
</Setter Property="Template">


Answer 2:

您可以使用DataGrid的模板列显示出任何一种的控制。

<DataGrid ItemsSource="{Binding items}">
                <DataGrid.Columns>
                    <DataGridTemplateColumn>
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <ProgressBar></ProgressBar>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
            </DataGrid>


文章来源: ProgressBar as background for DataGridView rows