암튼 zip 파일을 푸는 기능과 알아서 풀기 우클릭 메뉴만 구현되어 있는 버전을 완성했습니다. 아직까지는 저 기능들이 답니다. 심지어 압축 파일에 뭐가 들어있는지 보여주는 기능도 없습니다. 하지만 나중에는 더 많은 기능들이 구현되겠죠. 그런데 파일들을 어떤 컨트롤로 보여줘야 할지 모르겠네요.
지금은 문제가 하나 있는데 Unpackaged 방식으로 빌드해야만 작동합니다. Windows App SDK 1.8 Preview 버전을 쓰는데, 여기에 포함된 FilePicker가 Packaged 앱에서 문제가 있는 것 같더군요. 그래서 작동하지를 않습니다. 셸 확장도 Packaged 방식으로만 작동하도록 만들어 놨는데 잘 되는지 모르겠습니다(…)
릴리즈 노트를 살펴보니 Microsoft.Windows.Storage.Pickers 네임스페이스에 새로운 Picker들이 추가됐네요.
WinUI 3 앱을 개발하다 보면 동일한 타입이 Microsoft.Windows.*와 Windows.* 네임스페이스에 동시에 선언되어 있는 경우를 동시에 볼 수 있는데요. Windows.*에 속한 것은 WinRT에서 제공하는 API고, Microsoft.Windows.*에 속한 것은 WindowsAppSDK에서 추가된 API입니다.
클론 후 코드를 수정해서 빌드해 보니까 Windows.Storage.FileOpenPicker는 정상적으로 동작하는 것으로 보입니다. 안정화 전까지 대안으로 이것을 사용할 수 있을 것 같습니다. 대신 부모 윈도우의 핸들로 FilePicker를 초기화 해주는 작업이 필요합니다.