3

我有一个 WPF 应用程序,我想在数据网格列中显示一个进度条。这是我到目前为止所拥有的:

    <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值绑定。

4

1 回答 1

3

ProgressValue 应该存在于您分配给网格的 ItemsSource 中,如果您使用的是用户控件和框架,它是不相关的

像这样的东西

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

datagrid.ItemsSource = new [] {new SomeVal()};
于 2012-11-06T14:48:32.163 回答