WPF에서 기본 앱에서 파일을 여는 방법

3329 단어 apiC#WPF

소개



기본 앱에서 파일을 여는 것은 Windows를 사용하고 있다면 당연한 기능입니다만, WPF로 실현하려고 하면 어떻게 하면 좋을까? 라고 생각해 버립니다.
살펴보면 파일에 따라 기본 앱 시작 라는 Microsoft 문서가 있었습니다.
그런데 이것, UWP의 API를 사용하고 있습니다. 즉 WPF가 아닙니다.
라는 것은 WPF에서 UWP의 API를 사용할 수 있도록 하면 된다는 것입니다.

UWP API를 WPF에서 사용할 수 있도록 허용



구현 방법이지만 .NetFramework를 사용하는 경우와 .NET5를 사용하는 경우와 다르다.

.NetFramework의 경우



Microsoft.Windows.SDK.Contracts라는 NuGet 패키지를 설치합니다.

.NET5의 경우



프로젝트 파일을 다음과 같이 설정합니다.
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Library</OutputType>
    <TargetFramework>net5.0-windows10.0.17763.0</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>
</Project>

TargetFramework의 점이 포인트로,
  • net5.0-windows10.0.17763.0의 경우 Windows 10 Version 1809
  • net5.0-windows10.0.18362.0의 경우 Windows 10 Version 1903
  • net5.0-windows10.0.19041.0의 경우 Windows 10 Version 2004

  • 됩니다

    이 설정의 유의 사항은 프로젝트 속성의 대상 프레임 워크가 회색으로 표시되는 것입니다.


    기본 앱에서 파일 열기



    이제 WPF에서도 사용할 수 있는 환경이 갖추어졌으므로 구현입니다만, 이것은 간단하고, 이하의 코드를 사용하는 것만
    IStorageFile file = await StorageFile.GetFileFromPathAsync(filePath)
    await Windows.System.Launcher.LaunchFileAsync(file)
    

    이 인수의 filePath로 열려는 파일의 경로를 지정합니다.

    이상으로 완료입니다.
    구현은 매우 간단합니다만, 여기까지 다가가는데 여러가지 조사하거나, 시간이 걸렸기 때문에, 같은 쪽이 있으면 그 도움이 된다고 생각합니다.

    좋은 웹페이지 즐겨찾기