CommunityToolkit / CommunityToolkit/Windows
WrapLayout "collapsing"
- 主要言語
- C#
- スター
- 1.1k
- フォーク
- 166
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
### 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:
[...]
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
```text
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
- [x] 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)
- [x] 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)
- [x] 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.
コントリビューションガイド
調査の方向性
ItemsRepeater.Layout として使用されている WinAppSDK/WinUI 3 WrapLayout から始め、基になるコレクションを変更しながらスクロールして失敗を再現します。動画とスクリーンショットを動作の参考として使用し、折りたたみの前後でレイアウトを比較します。要素を追加した後も、影響を受けるすべての WrapLayouts で表示されている項目が正しく配置されたままになれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- csharp
- 領域
- desktop, frontend
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 20/100