好吧,我在WPF中遇到了几个与DataGrid有关的问题。
我在DataGrid中有一个进度条,我希望从数据库中显示值[完整的DataGrid绑定到我从数据库中获取的数据表]。
我的代码中有一个状态为枚举,它的数值存储在数据库中,虽然它是正确的数据绑定,我想显示枚举"字符串"而不是数值。
我没有找到我在ASP.NET中使用的rowDataBound,使用我可以做到的,但不知道如何在WPF中执行此操作。
<DataGrid Height="125" Grid.Row="1" AutoGenerateColumns="False" HorizontalAlignment="Stretch" Name="grdData" VerticalAlignment="Stretch" ItemsSource="{Binding}" IsReadOnly="True"
GridLinesVisibility="Horizontal" HorizontalGridLinesBrush="#FFBEBEBE" VerticalGridLinesBrush="#FFBEBEBE" RowHeight="25" BorderThickness="0"
FontWeight="Bold" Background="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}" AlternatingRowBackground="DarkGray"
Foreground="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" RowBackground="White" ColumnHeaderHeight="25" VerticalScrollBarVisibility="Visible"
BorderBrush="{DynamicResource {x:Static SystemColors.ActiveBorderBrushKey}}">
<DataGrid.Columns>
<DataGridTextColumn Header="Task Name" MinWidth="30" Width="100" Binding="{Binding Path=TaskName}" />
<DataGridTextColumn Header="Code" MinWidth="30" Width="50" Binding="{Binding Path=TaskCode}" />
<DataGridTextColumn Header="Status" Width="50" Binding="{Binding Path=Status}"/>
<DataGridTemplateColumn Header="Completed?" Width="*" >
<DataGridTemplateColumn.CellTemplate >
<DataTemplate>
<ProgressBar x:Name="TaskProgress" HorizontalAlignment="Stretch" Value="{Binding Path=CompletePercentage}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
比我的C#代码
grdData.DataContext = dt
其中dt是我使用数据库简单选择查询填充的数据表。
感谢。