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의 점이 포인트로,
구현 방법이지만 .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의 점이 포인트로,
됩니다
이 설정의 유의 사항은 프로젝트 속성의 대상 프레임 워크가 회색으로 표시되는 것입니다.
기본 앱에서 파일 열기
이제 WPF에서도 사용할 수 있는 환경이 갖추어졌으므로 구현입니다만, 이것은 간단하고, 이하의 코드를 사용하는 것만
IStorageFile file = await StorageFile.GetFileFromPathAsync(filePath)
await Windows.System.Launcher.LaunchFileAsync(file)
이 인수의 filePath로 열려는 파일의 경로를 지정합니다.
이상으로 완료입니다.
구현은 매우 간단합니다만, 여기까지 다가가는데 여러가지 조사하거나, 시간이 걸렸기 때문에, 같은 쪽이 있으면 그 도움이 된다고 생각합니다.
Reference
이 문제에 관하여(WPF에서 기본 앱에서 파일을 여는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mkuwan/items/99b11d8eabfd352f23d5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
IStorageFile file = await StorageFile.GetFileFromPathAsync(filePath)
await Windows.System.Launcher.LaunchFileAsync(file)
Reference
이 문제에 관하여(WPF에서 기본 앱에서 파일을 여는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mkuwan/items/99b11d8eabfd352f23d5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)