Bardzo prosty datagrid WPF związany z listą obrazów. Podczas zmiany rozmiaru kolumn za pomocą dzielnika (lub samego okna głównego) procesor przechodzi do 100%, a aplikacja wchodzi w nieskończoną pętlę aranżacji/zmiany rozmiaru, co powoduje przeskakiwanie zawartości okna i brak obsługi danych wejściowych użytkownika (zablokowane).Jak mogę obejść ten datagrid WPF nieskończonej miary/aranżować błąd?
DataGrid jest zdefiniowany jako:
<DataGrid ItemsSource="{Binding ImageList}" AutoGenerateColumns="False" x:Name="ImageGrid">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Image 1" Width="40*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding ImagePath}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="EmptyText" />
</DataGrid.Columns>
</DataGrid>
- video of the problem is here (wybaczcie ubogich kodowania).
- Mój very simplified test project is here.
- Myślę, że to ten błąd opisany na Microsoft Connect here.
Czego próbowałem:
- Dziedziczenie DataGrid i przesłanianie Wykonam/Miarka za siatki.
- Zastępowanie aranżacji/miary okna.
- Poprawianie pasków przewijania siatki, wyłączanie i różne opcje.
Co nie mogę zrobić:
- Upgrade do .NET 4.5 nie jest rozwiązaniem w tym projekcie.
- Usunąć kolumny, wtedy nie byłoby żadnego punktu w siatce.
Czy jest jakiś sposób obejścia tego zachowania w .Net 4.0? Jeśli nie, będę musiał rozważyć obejście takie jak użycie czegoś innego zamiast siatki, chociaż spędziłem całe wieki na stylizacji i nie chciałbym stracić tej pracy.
góry dzięki
Mam do czynienia z tym samym problemem niż ty. Niestety, to rozwiązanie nie działa dla mnie. –