2

Windows Phone UI 디자인 원리에서 MS는 제어 배경에 단색 사각형 또는 코딩 그라디언트를 사용하여 다중 화면에서 호환되지 않는 것을 권장합니다. 그러나 많은 요구 사항에서 이미지를 제어 배경으로 사용하는 것이 필요합니다. 그런 다음 9 패치 이미지 기술이 사용됩니다. Android 및 IO에서는 코어에서 지원되었지만 WP에서는 부족합니다. 나는 3 방법에 의해 WP에 사용하려고 : 9 패치에 클립 이미지와 세포로 누워 :Windows Phone의 Nine-Patch 이미지

  1. 9 세포 그리드 사용. 그것은 괜찮아요,하지만 난 두려워 애플 리케이션 성능을 때 많은 컨트롤을 줄일 수 있습니다.

  2. 사용자 지정 브러시 사용 : 사용자 지정 브러시 만 사용하면 9 패치 이미지를 ImageBrush로 그릴 수 있지만 MS는 사용자 지정 브러시를 사용할 수없는 것처럼 보입니다.

  3. FramworkElement : using Rectangle, Ellipse ... FrameworkElement를 만들고 싶다면 9- 패치 이미지를 그릴 수 있습니다. 그러나 저수준 렌더링을 사용할 수는 없습니다.

어떻게 두 번째 및 세 번째 방법을 구현할 수 있습니까?

답변

0

당신은 WriteableBitmap 사용하여 낮은 수준의 렌더링 및 사용자 정의 브러시의 부족을 보완 할 수 http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.writeablebitmap(v=vs.95).aspx

이 방법, 당신은 당신의 배경을 렌더링하는 방법을 완벽하게 제어 할 수 있습니다를, 당신은 하나에 할당 할 수 있습니다 이미지 컨트롤. 그러나 "9 개의 이미지 컨트롤이있는 격자 사용"방법보다 훨씬 복잡하며 성능 향상은 중요하지 않습니다.

2

Android NinePatchDrawable과 똑같은 Windows Phone 용 lib를 만들었습니다. 너는 단지 비트 맵 image.9.png, 너비와 높이를 설정해야한다. 그리고 끝냈다 !!! 당신은 당신이 원하는 크기로 새로운 이미지 스케일을 가지고 있습니다. 그것을 즐겨라 :). 앞으로 나는 더 많은 옵션을 추가 할 것이다 :).

GitHub link

관련 문제