2011-09-02 26 views
1

是否可以將ProgressBar設置爲DataGridView行的背景?還是僅從左到右對行的一部分進行着色?我有代表一些動態變化的數據的行,我需要以某種方式顯示進度。我想用整行背景作爲進度條,我該怎麼做?ProgressBar作爲DataGridView行的背景

回答

3

如果您想使用整個行這可能是最好的使用DataGrid.RowStyle覆蓋DataGridRowdefault template,那麼你躺在其他內容下方,例如一個進度

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

您可以使用datagrid模板列來顯示任何類型的控件。

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

不可能在那裏得到綁定值。 – mortenstarck