C# WPF DataGrid未返回DataGridRow
我在WPF应用程序中使用DataGrid,使用for循环逐个检索DataGridRow,直到最后一次,目前在使用ICollectionView for循环后,我使用ICollectionView对DataGrid进行排序 XAML代码:C# WPF DataGrid未返回DataGridRow,c#,wpf,datagrid,icollectionview,C#,Wpf,Datagrid,Icollectionview,我在WPF应用程序中使用DataGrid,使用for循环逐个检索DataGridRow,直到最后一次,目前在使用ICollectionView for循环后,我使用ICollectionView对DataGrid进行排序 XAML代码: <DataGrid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" x:Name="GridTest" ItemsSource="{Binding}" AutoGenerateColum
<DataGrid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" x:Name="GridTest" ItemsSource="{Binding}" AutoGenerateColumns="False" CanUserSortColumns="False" CanUserResizeRows="False" AreRowDetailsFrozen="True" CanUserResizeColumns="False" CanUserDeleteRows="False" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="SNo" Width="0.25*" Binding="{Binding Path=SNo}" CanUserResize="False" />
<DataGridTextColumn Header="SalaryAmt" Width="0.25*" Binding="{Binding Path=SalaryAmt}" CanUserResize="False" />
<DataGridTextColumn Header="Name" Width="0.20*" Binding="{Binding Path=Name}" CanUserResize="False"/>
<DataGridTextColumn Header="Address" Width="0.30*" Binding="{Binding Path=Address}" CanUserResize="False"/>
</DataGrid.Columns>
</DataGrid>
代码隐藏:
namespace SortGrid
{
public partial class TestDG
{
Dictionary<string, GridStructure> Dict1;
ObservableCollection<GridStructure> List1 = new ObservableCollection<GridStructure>();
private ICollectionView _currentView;
_currentView = CollectionViewSource.GetDefaultView(List1);
_currentView.SortDescriptions.Add(new SortDescription("SalaryAmt", ListSortDirection.Ascending));
void DispatchTime_Tick(object sender, EventArgs e)
{
Dict1.Clear();
_currentView.Refresh();
GridColors(GridTest_TierColors, GridTest);
}
private void GridColors(Brush[] col, DataGrid Grid)
{
int colorind = 0;
for (int rowind = 0; rowind < Grid.Items.Count; rowind++)
{
DataGridRow row = (DataGridRow)Grid.ItemContainerGenerator.ContainerFromIndex(rowind);
if (row != null)
{
//conditional formatting here
}
}
}
}
}
namespace-SortGrid
{
公共部分类TestDG
{
词典1;
ObservableCollection列表1=新的ObservableCollection();
私有ICollectionView\u currentView;
_currentView=CollectionViewSource.GetDefaultView(列表1);
_currentView.SortDescriptions.Add(新的SortDescription(“SalaryAmt”,ListSortDirection.升序));
void DispatchTime_Tick(对象发送方,事件参数e)
{
(1)明确的;
_currentView.Refresh();
GridColor(GridTest\u TierColor,GridTest);
}
私有void GridColors(画笔[]列,数据网格)
{
int colorind=0;
对于(int rowind=0;rowind
您需要向我们提供更多详细信息。你想达到什么目标?到底什么东西在那里不起作用?你说你的“foreach循环不工作”,但我看不到任何foreach循环。请更具体一点抱歉,大马士革,这是我的错误,我使用for loop而不是foreach。可能重复无饲料区,它仍然没有返回一行。