CommunityToolkit / CommunityToolkit/Windows
CommunityToolkit.WinUI.UI.FrameworkElementExtensions.FindChild throw System.InvalidCastException with CollectionView
- 主要言語
- C#
- スター
- 1.1k
- フォーク
- 166
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
### Describe the bug
CommunityToolkit.WinUI.UI.FrameworkElementExtensions.FindChild throw System.InvalidCastException when a view contains CollectionView
### Steps to reproduce
```text
create a view with ListView
create CollectionView with CollectionView.Source = IEnumerable where T is interface;
ListView.ItemsSource bind to CollectionView.View
try to find any FrameworkElement on the view
```
### Expected behavior
FindChild must return found element or null if view doesn't contain it.
### Screenshots
_No response_
### Code Platform
- [ ] UWP
- [X] WinAppSDK / WinUI 3
- [ ] Web Assembly (WASM)
- [ ] Android
- [ ] iOS
- [ ] MacOS
- [ ] Linux / GTK
### Windows Build Number
- [X] Windows 10 1809 (Build 17763)
- [X] Windows 10 1903 (Build 18362)
- [X] Windows 10 1909 (Build 18363)
- [X] Windows 10 2004 (Build 19041)
- [X] Windows 10 20H2 (Build 19042)
- [X] Windows 10 21H1 (Build 19043)
- [X] Windows 10 21H2 (Build 19044)
- [X] 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
_No response_
### Visual Studio Build Number
_No response_
### Device form factor
_No response_
### Additional context
Test example
[CollectionViewTest](https://github.com/megamechanic/WinUIBugs)
### Help us help you
Yes, I'd like to be assigned to work on this item.
```[tasklist]
### Tasks
```
コントリビューションガイド
調査の方向性
CommunityToolkit.WinUI.UI.FrameworkElementExtensions.FindChild から始め、リンクされた CollectionViewTest の例を使って失敗を再現します。ソースがインターフェイスの項目型を持つ IEnumerable である CollectionView にバインドされた ListView を検証します。FindChild が一致する FrameworkElement を返すか、存在しない場合は null を返し、InvalidCastException をスローしなければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- csharp
- 領域
- desktop
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100