ProgressBar作为DataGridView行的背景

时间:2011-09-02 13:36:05

标签: c# wpf xaml datagridview progress-bar

是否可以将ProgressBar设置为DataGridView行的背景?或者只从左到右的颜色部分颜色?我有行代表一些动态变化的数据,我需要以某种方式显示进展。我想使用整行背景作为进度条,我该怎么做?

2 个答案:

答案 0 :(得分:3)

如果您想使用整行,最好使用DataGridRow覆盖DataGrid.RowStyle的{​​{3}},然后将ProgressBar放在其他内容下方,例如< / p>

<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">

答案 1 :(得分:0)

您可以使用数据网格模板列来显示任何类型的控件。

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