CommunityToolkit / CommunityToolkit/Windows
WrapLayout "collapsing"
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C#
- Estrellas
- 1.1k
- Forks
- 166
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Describe the bug
I have a weird bug that unfortunately mighe be difficult to find. Im using the WinUI-ItemsRepeater with a WrapLayout as "ItemsRepeater.Layout" like this:
<winui:ItemsRepeater >
<winui:ItemsRepeater.Layout>
<controls:WrapLayout Orientation="Horizontal" VerticalSpacing="1"HorizontalSpacing="1"/>
</winui:ItemsRepeater.Layout>
<winui:ItemsRepeater.ItemTemplate>
<DataTemplate>
[...]
</DataTemplate>
</winui:ItemsRepeater.ItemTemplate>
</winui:ItemsRepeater>
Now it seems that adding Elements in a long list when the ItemsRepeater is "scrolled down", then it "collapses" and renders the Items wrong. I unfortunately have no other repro than this video:
https://github.com/user-attachments/assets/aa7b6ff4-2ce0-43b9-a892-f55279af9fbf
Whenever it blinks blue, I'm adding a test-element (via right-click). I'm scrolling down while I do this. Once I reach a certain point, adding another element (or basically "modifiying the underlying collection") leads to a collaps of all (!) WrapLayout within that control. I have three of them in here and they all do collapse.
I'm assuming that the renderer crashes for whatever reason. Or the layout calculation gets corrupted. I hope some of you with deeper knowledge of the insights might get a clue what's happening here. Basically all Items in all visible WrapLayouts/ItemsRepeater do not get rendered once after the other but all get rendered at (0,0):
Steps to reproduce
Unfortunately I do not have a repro outside of my app.
Expected behavior
I should be able to add elements as I wish without the layout collapsing.
Screenshots
Code Platform
- UWP
- WinAppSDK / WinUI 3
- Web Assembly (WASM)
- Android
- iOS
- MacOS
- Linux / GTK
Windows Build Number
- Windows 10 1809 (Build 17763)
- Windows 10 1903 (Build 18362)
- Windows 10 1909 (Build 18363)
- Windows 10 2004 (Build 19041)
- Windows 10 20H2 (Build 19042)
- Windows 10 21H1 (Build 19043)
- Windows 10 21H2 (Build 19044)
- Windows 10 22H2 (Build 19045)
- Windows 11 21H2 (Build 22000)
- Other (specify)
Other Windows Build number
No response
App minimum and target SDK version
- Windows 10, version 1809 (Build 17763)
- Windows 10, version 1903 (Build 18362)
- Windows 10, version 1909 (Build 18363)
- Windows 10, version 2004 (Build 19041)
- Windows 10, version 2104 (Build 20348)
- Windows 11, version 22H2 (Build 22000)
- Other (specify)
Other SDK version
No response
Visual Studio Version
2022
Visual Studio Build Number
17.4
Device form factor
Desktop
Additional context
No response
Help us help you
No, I'm unable to contribute a solution.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el WinAppSDK/WinUI 3 WrapLayout utilizado como ItemsRepeater.Layout y reproduce el fallo desplazándote mientras modificas la colección subyacente. Compara el layout antes y después del colapso, utilizando el vídeo y las capturas de pantalla como referencias del comportamiento. El trabajo estará terminado cuando los elementos visibles de todos los WrapLayouts afectados sigan estando correctamente posicionados después de añadir elementos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- csharp
- Área
- desktop, frontend
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 20/100