티스토리 뷰

반응형

2021.04.09 - [.NET 5, 6 and .NET Conf 2020] - WinUI 3 - Project Reunion 0.5 안정화 버전 출시

Windows Community Toolkit - WinUI 3

오늘은 WinUI 3 및 .NET 5로 구축된 데스크톱 앱용 Project Union 0.5와 호환되는 Windows Community Toolkit 업데이트를 발표합니다!

 

Windows Community Toolkit은 헬퍼, 확장 및 사용자 지정 컨트롤의 모음입니다. Windows 10용 UWP 및 NET 앱을 구축하기 위한 일반적인 개발자 작업을 단순화하고 시연합니다. 이제 WinUI 3도 .NET Foundation의 일부입니다.

 

Windows Community Toolkit 팀은 문제를 보고하고 Toolkit이 WinUI 3에서 작동하도록 하기 위해 WinUI 팀과 함께 일해왔습니다! 우리는 Win2D 팀에서도 같은 일을 해왔습니다!

 

이 툴킷 릴리스는 WinUI 3을 지원할 뿐만 아니라 Win2D도 지원합니다! 이제 WinUI 3 앱에서 WCT 7.0.0 릴리스에 추가된 대부분의 놀라운 효과 애니메이션을 활용할 수 있습니다.

What is WinUI 3?

Ignite 2019에서 마이크로소프트는 Windows UI Library의 첫 번째 버전을 출시하였습니다.(WinUI) 버전 3(A.k.a. WinUI 3)는 Windows OS에서 XAML UI 프레임워크를 분리하는 UWP/XAML 플랫폼의 진화이다. 전체로 NuGet 패키지로 제공되어 개발자들이 최종 사용자가 OS를 업그레이드할 필요 없이 이전 버전의 Windows 10에서 XAML의 새로운 기능을 효과적으로 지원할 수 있게되었습니다. 여기에서 최신 로드맵을 볼 수 있습니다.

Package Identity and Renaming

이 릴리스의 일부로 Windows Community Toolkit에 대한 새로운 패키지 루트를 소개 합니다. NuGet : CommunityToolkit.*. 우리는 기존에 Microsoft.Toolkit.Uwp.* 네임스페이스를 CommunityToolkit.WinUI.*로 업데이트를 진행 했습니다. 패키지 아이덴티티를 사용하면 패키지와 커뮤니티 소유권을 더 잘 유지할 수 있기 때문에 이 마이그레이션을 WinUI 3 업데이트의 일부로 만들고 있습니다. 향후에는 다른 그룹 및 기술과 협력하여 패키지의 브랜드와 소유권을 공유할 수 있는 유연성을 확보할 수 있습니다.

 

원래 우리의 사전 미리보기의 일환으로 우리는 "8.0.0"버전 모니커를 사용하고 있었습니다. 오늘날 NuGet에서 배송 한 패키지는 현재 7.0 릴리스와 정렬되도록 재설정되었습니다. 앞으로 이동하는 WinUI 패키지의 버전은 동일한 기능 세트가 포함 된 현재 UWP 패키지의 동일한 버전에 맞 춥니 다. 따라서 UWP 패키지 7.1을 발송할 때 WinUI 3 용 7.1 패키지가 동등한 세트가 있습니다. 이는 두 세트의 패키지를 유지 해야하는 한 우리의 기능을 시맨틱 버전 관리와 함께 앞으로 나아갈 수있는 유연성을 제공합니다. , uwp 및 winui 3.에 대한 하나는 커뮤니티가 Winui 3로 전환 할 수 있다고 느낄 때 미래에 시간까지 계속 될 것 입니다. 이 때 우리는 UWP 패키지를 무시하고 "WinUI" 3만을 위한 개발로 이동할 것입니다. 걱정 마세요, 적어도 1년은 더 늦어질 것으로 예상하기 때문에, 우리는 이 일이 일어나기 전에 사람들에게 미리 알려드릴 것입니다.

 

Microsoft.Toolkit.* ID의 최종 전환의 일환으로 .NET Standard 기반 패키지와 CommunityToolkit.*로 이동할 예정입니다. 그 전에는 두 ID로 이러한 패키지의 동등한 버전을 출시 할 예정입니다. 그러나 WinUI 3를 마이그레이션하거나 사용하기 시작하는 경우 동일한 루트 CommunityToolkit.* 패키지도 사용해야합니다. 기본 .NET Standard 패키지 Microsoft.ToolkitCommunityToolkit.Common이됩니다. .NET 전용 프로젝트인 경우 가까운 시일 내에 새 패키지 ID로 마이그레이션하는 것이 좋습니다. NuGet 구성을 업데이트하고 새 네임 스페이스에서 동일한 유형을 사용하면됩니다.

Getting Started with WinUI 3

WinUI 3 데스크톱 개발을 위한 툴킷 사용을 시작하려면 이 다음을 참조하십시오!

Requirements

Working with the Toolkit

  1. 새로운 C# WinUI 3 Desktop 프로젝트를 생성하려면 다음을 참고하시기 바랍니다. by following these instructions first
  2. (선택사항) 빈 프로젝트를 실행해서 오류가 발생하는지 확인하시면 좋습니다.
  3. 프로젝트에서 마우스 오른쪽을 눌러서 Manage NuGet Packages...를 선택합니다.
  4. 검색창에 다음을 입력해서 패키지를 검색합니다. “CommunityToolkit.WinUI.UI.Controls
  5. 패키지를 선택한 후 “Install”을 누르고 라이센스를 확인합니다.
  6. 대상 프레임워크에 따라 다음과 같이 프로젝트를 수정합니다. (See .NET SDK 5.0.200 and 5.0.104 can’t load default styles of custom controls – See Issue microsoft-ui-xaml/issues/4414, this should be resolved with an upcoming .NET update in April.)
<ItemGroup>
  <!-- If you are targeting 18362 -->
  <FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" RuntimeFrameworkVersion="10.0.18362.15" />
  <FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.18362.15" />
</ItemGroup>

OR

<ItemGroup>
  <!-- If you are targeting 19041 -->
  <FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" RuntimeFrameworkVersion="10.0.19041.15" />
  <FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.19041.15" />
</ItemGroup>

  7. MainWindow.xaml로 이동하여 샘플 앱의 UniformGrid 예와 같은 툴킷 코드를 붙여넣습니다.

    <controls:UniformGrid 
            FirstColumn="1"
            Orientation="Horizontal"
            Rows="0"
            Columns="0">
        <Border Background="AliceBlue" 
                Grid.Row="1" Grid.Column="1" 
                Grid.RowSpan="2" 
                Grid.ColumnSpan="2">
            <TextBlock Text="1"/>
        </Border>
        <Border Background="Cornsilk">
            <TextBlock Text="2"/>
        </Border>
        <Border Background="DarkSalmon">
            <TextBlock Text="3"/>
        </Border>
        <Border Background="Gainsboro">
            <TextBlock Text="4"/>
        </Border>
        <Border Background="LightBlue">
            <TextBlock Text="5"/>
        </Border>
        <Border Background="MediumAquamarine">
            <TextBlock Text="6"/>
        </Border>
        <Border Background="MistyRose">
            <TextBlock Text="7"/>
        </Border>
        <Border Background="LightCyan">
            <TextBlock Text="8"/>
        </Border>
        <Border Background="Salmon">
            <TextBlock Text="9"/>
        </Border>
        <Border Background="Goldenrod">
            <TextBlock Text="10"/>
        </Border>
        <Border Background="Pink">
            <TextBlock Text="11"/>
        </Border>
    </controls:UniformGrid>

페이지 상단에 네임스페이스 추가하는 것을 잊지 마세요. xmlns:controls="using:CommunityToolkit.WinUI.UI.Controls"

(그리고 기존 템플릿의 XAML을 교체하는 경우 코드 뒤에 있는 이벤트 핸들러를 제거하십시오!)

  8. F5를 눌러서 실행합니다.

Known Issues/Limitations

  • See .NET SDK 5.0.200 and 5.0.104 can’t load default styles of custom controls – Issue microsoft-ui-xaml/issues/4414
  • The Windows Community Toolkit for WinUI 3 packages are currently only geared towards .NET 5 Desktop development. The toolkit has been tested against the ‘UWP’ sandboxed versions of WinUI as well, but won’t ship a public package until the latest .NET tooling is supported for that environment. (See tracking on dotnet and the WinUI 3 Roadmap.) If you’re an existing UWP app today, we recommend you leverage the WinUI 2.x library and styles with our existing Microsoft.Toolkit.Uwp.* packages in the meantime.
  • ThemeListener is not working due to APIs being removed in WinUI Preview 4, see their known issue list in link below.
  • GridSplitter cursor doesn’t change discussed here because of changes to CoreWindow and Cursor property.
  • When using Win2D you may get DllNotFoundExceptions, you can continue past these. See more in their changelog.
  • Be sure to also read the Project Reunion 0.5 Known Issue List.

Contribute and Share

일반적으로 Microsoft Store에서 Windows Community Toolkit Sample App을 설치하여 제공해야 하는 최신 기능을 확인할 수 있습니다(각 문서 페이지에도 연결됨). 기여하고 싶으시면 GitHub에 가입하셔서 저희의 새로운 위키에서 확인해주세요! #Windows Community 해시태그를하거나 UWP Community Discord 채널에 가입하십시오!

원본

Windows Community Toolkit for Project Reunion 0.5 | #ifdef Windows (microsoft.com)

 

반응형
댓글