티스토리 뷰

반응형

지난주에 (주)CLONIX 대표님이 UWP앱 개발에 대해서 문의를 주셔서 간단학[ 한번 미팅을 했습니다. 그 미팅으로 어느정도 방향을 잡으시고, 셈플 프로젝트를 만들어 보신 후에 추가 문의 사항을 해결하기 위해, 8월 7일에 토즈 수내 스터디 센터에서 3시간 가량 강의를 진행 했으며, 그 중 몇가지 내용을 후기식으로 적어 보도록 하겠습니다.

 

 

1. Windows Template Studio를 이용해서 앱을 생성했을 때 버튼 스타일을 변경하기..

 

http://kaki104.tistory.com/546 포스트에서 Windows Template Studio를 이용해서 기본 앱을 빨리 만들 수 있는 방법을 소개했었습니다.

 

포스트를 쓰기 위해서 제가 전에 만들었던 앱에 버튼을 하나 올리고 스타일을 수정하기 위해 Edit Template -> Edit a Copy ...를 선택하니 정상적으로 스타일이 생성됩니다. ^^;;; 어제는 앙됐는데..쿨럭

 

이 작업은 블랜드로 하셔야 합니다. 나중에 States 탭을 사용해야 하기 때문입니다.

 

버튼에서 마우스 오른쪽 클릭 -> Edit Template -> Edit a Copy...

 

 

OK를 클릭해서 Page에 ButtonStyle1이라는 이름으로 스타일을 생성합니다.

 

 

버튼을 눌렀을 때 배경색을 변경해 보도록 하겠습니다.

일단 왼쪽 상단 탭 중 States 탭을 클릭합니다. 그러면 Normal, Pressed, Disabled, PointerOver라는 각 상태별로 스타일을 변경 할 수 있는 화면이 나옵니다.

 

Pressed 선택

* 타임라인 아이콘을 찾아서 누르시면 좀더 자세히 볼 수 있습니다.

* 상태를 선택하면 자동으로 레코딩 모드로 돌입합니다.(주위가 뻘건색으로 변하는 것을 이야기 합니다.) 

 

 

버튼의 배경색은 RootGrid의 배경색에 따라서 변경됩니다. ContentPresenter는 배경색 프로퍼티를 지정하려고 하면 오류가 발생합니다. 글씨색은 ContentPresenter의 Foreground를 변경해서 바꿀 수 있습니다.

 

RootGrid선택 -> Background 선택 -> SolidColorBrush 선택(마우스 오버하면 글씨 보입니다.) -> 컬러 입력창에 yellow를 입력하면 자동으로 #FFFFFF00 이렇게 변경 됩니다.

 

 

이렇게 PointerOver일 때도 컬러를 변경해 주시면 됩니다.

 

 

2. App Service를 이용해서 Win32 프로그램과 통신하기

 

AppService Bridge Sample 프로젝트를 이용해서 어떻게 하는 것인지를 살펴 보면서, 기존 앱을 어떻게 이렇게 만들 수 있는지 설명을 드렸내요

 

프로젝트 Reference를 보면 Windows Desktop Extensions for the UWP가 추가되어 있는 것을 볼 수 있습니다.

App Service 자체는 앱과 앱 사이의 통신을 하기 위한 기능이기 때문에 필요 없지만, Win32 app을 실행 하기 위해서는 이 Extensions이 반드시 필요합니다.

 

음 아실런지 모르지만, 사실 UWP는 샌드박스이기 때문에 Win32 app을 실행 시킬수도, 로컬 폴더에 직접 엑세스 할 수도 없습니다. 하지만, 이제는 Win32 app을 실행 시킬 수 있습니다. 단!! 앱과 함께 배포가된 exe 파일만 실행 가능 합니다~

 

 

실행 시킬 파일 이름은 어디에 입력할까요?

 

Package.appxmanifast 파일 선택 -> 마우스 오른쪽 버튼 클릭 -> Open With... -> XML (Text) Editor -> OK

 

 

Exeutable="여기에 exe 파일명을 입력하시면 됩니다."

 

 

 

그럼 exe파일은 어디에 있어야 하나요?

 

C:\Users\MunChan Park\Downloads\DesktopBridgeToUWP-Samples-master\DesktopBridgeToUWP-Samples-master\Samples\AppServiceBridgeSample\cs\UWP\bin\x86\Debug\AppX

 

저는 대략 이 위치에 있습니다.

 

 

그럼 진짜로 실행 시키는 방법은??

 

AppServiceBridge.xaml.cs 파일에

 

await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();

 

문장을 통해서 실행이 됩니다.

 

 

3. 실행

 

Launch Background Process 버튼을 눌러서 Win32 app을 실행 시키고, hello를 입력하고 Send Request to Background Process 버튼을 클릭하면 win32 app으로 전송 후 대문자로 변환된 HELLO를 반환 받아서 출력합니다.

 

 

 

여기서 살짝 고쳐서 WPF로 만든 앱을 실행 시켜 보았습니다.

WPF app에서 폴더 선택 창을 출력해서 아무 폴더나 선택해서 파일을 쓰는 작업까지 가능한 것을 확인 했습니다.

 

 

 

4. 마무리

 

회의실 사진을 찍었어야 하는데..대신 영수증을 첨부합니다. ㅎㅎ 저도 이번에 App Service에 대해서 간단하게 맛을 볼 수 있어서 좋았습니다.

UWP 개발에 관심이 있는 회사와 관계자 분들의 문의를 환영 합니다.~

 

 

반응형
댓글