2012-11-06 149 views
3

我有一個WPF應用程序,我想在datagrid列中顯示一個進度條。這是我到目前爲止:將ProgressBar添加到DataGrid列

<DataGrid Name="dgOrders" ItemsSource="{Binding}" AutoGenerateColumns="False" HorizontalGridLinesBrush="#35000000" VerticalGridLinesBrush="#35000000" BorderThickness="1" CanUserAddRows="False" CanUserReorderColumns="False" CanUserResizeRows="False" CanUserSortColumns="False" EnableRowVirtualization="False" IsReadOnly="True" RowHeaderWidth="0"> 
     <DataGrid.Columns> 
      <DataGridTemplateColumn Header="Progress" Width="*" Visibility="Hidden"> 
       <DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <ProgressBar Value="{Binding Path=ProgressValue, Mode=OneWay}" Minimum="0" Maximum="100" /> 
        </DataTemplate> 
       </DataGridTemplateColumn.CellTemplate> 
      </DataGridTemplateColumn> 
     </DataGrid.Columns> 
    </DataGrid> 

這工作,我在每一行都得到很好的進度條。現在,這裏是我感到困惑的一部分:我用這個數據網格中的UserControl裏面是什麼,然後在Page像這樣使用:

<Grid> 
    <Controls:OrderDataGrid x:Name="cntrlOrderDataGrid"></Controls:OrderDataGrid> 
</Grid> 

而頁是由一個Frame加載。

問題是我應該如何以及在哪裏實現類和ProgressValue,因此它會更新我的ProgressBar值綁定。

回答

3

ProgressValue應在的ItemsSource存在分配給電網,如果您使用的用戶控件和框架或不

像這樣的事情

public class SomeVal : INotifyPropertyChanged 
{ 
    public int ProgressValue{...} 
} 

datagrid.ItemsSource = new [] {new SomeVal()}; 
它是不相關