Я пытаюсь привязать DataGrid к массиву для тестирования.
Пока я не пытаюсь что-то фильтровать, автоматические столбцы работают хорошо.
Как только я попытаюсь отфильтровать массив с помощью .Take (5) или любого другого фильтра, строки останутся пустыми, и будут только горизонтальные линии. Я думаю, что это может быть связано с «анонимным» классом, сгенерированным Take. Но это дикая догадка ...
Позвольте мне показать вам некоторый код, который прекрасно работает и делает то, что я хочу:
public partial class WindowLister : UserControl
{
private int counter = 0;
public WindowLister()
{
InitializeComponent();
dataGrid1.ItemsSource = SystemWindow.FilterToplevelWindows(filterFunction);
}
private bool filterFunction(SystemWindow window)
{
counter++;
if (counter > 5) return false;
return true;
}
}
А теперь версия, которая не работает:
public partial class WindowLister : UserControl
{
public WindowLister()
{
InitializeComponent();
dataGrid1.ItemsSource = SystemWindow.FilterToplevelWindows(filterFunction).Take(5);
}
private bool filterFunction(SystemWindow window)
{
return true;
}
}
Для всех, кто интересуется, используется Источник из очень хорошей библиотеки Lib: ManagedWinapi.Windows;
Любая помощь приветствуется ...
Chris