정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

ImageBrush.ImageSource Property

ImageBrush에 의해 표시되는 이미지 소스를 가져오거나 설정합니다. 코드에서는 이를 ImageSource 하위 클래스 인스턴스로 설정하고, XAML에서는 이를 이미지 소스 파일에 대한 URI로 설정합니다.

구문


public ImageSource ImageSource { get; set; }


<ImageBrush ImageSource="imageUri"/>

XAML Values

imageUri

이미지 파일을 참조하는 URI입니다.

속성 값

형식: ImageSource

이미지 소스가 콘텐츠에 적용되는 경우 이 ImageBrush를 통해 표시되는 이미지 소스를 나타내는 개체입니다.

설명

이미지 소스 파일이나 스트림에서 이미지 소스를 설정하는 작업은 기본적으로 비동기 작업입니다. 소스를 유효 이미지 소스 파일로 확인할 수 없는 URL(Uniform Resource Identifier)로 설정해도 오류가 throw되지 않습니다. 그 대신 ImageBrush에서 ImageFailed 이벤트를 시작합니다. 이미지 소스 파일이 올바르게 로드되었는지 확인하려면 확인을 위해 ImageOpened를 처리하고 대체 이미지 소스를 제공하거나 UI를 다시 작성하는 수단으로 ImageFailed를 처리할 수 있습니다.

XAML에서 ImageSource 설정

XAML에서 이 속성을 설정할 수 있지만, 이 경우 ImageSource 특성 값이 URI를 나타내는 문자열로 설정됩니다. 이 동작은 문자열을 URI로 처리하는 내부 형식 변환을 기반으로 하며 BitmapImage(Uri) 생성자와 동등한 내부 항목을 호출합니다.

XAML에서 초기 ImageSource 특성 값에 올바른 소스를 지정하지 않으면 ImageFailed 이벤트가 발생할 수 있습니다. 상대 경로를 사용하여 앱에 패키지되는 이미지를 참조하거나 절대 URI를 사용하여 서버의 이미지를 참조할 수 있습니다. 앱의 일부로 패키지된 이미지 소스를 사용하는 경우 ms-appx 또는 ms-resource 체계를 사용하는 것이 일반적입니다.

코드에서 ImageSource 설정

코드를 사용하여 ImageBrush를 정의하는 경우 코드에서 ImageBrush.ImageSourceBitmapImage(URI가 아님)가 필요합니다. 소스가 스트림인 경우 SetSourceAsync 메서드를 사용하여 값을 초기화합니다. 소스가 앱에서 ms-appx 또는 ms-resource 체계를 사용하는 콘텐츠가 포함된 파일을 참조하는 URI인 경우, URI를 사용하는 BitmapImage 생성자를 사용합니다. 이미지 소스 검색 또는 디코드 시 타이밍 문제가 있고 이미지 소스를 사용할 수 있을 때까지 표시할 대체 콘텐츠가 필요할 수 있는 경우에도 ImageOpened 이벤트 처리를 고려할 수 있습니다. 예제 코드는 XAML 이미지 샘플을 참조하십시오.

리소스 요청의 범위 지정에 도움이 되도록 UI의 다른 개체를 기준으로 URI를 작성해야 하는 경우 UI의 다른 개체에 대해 호출되는 FrameworkElement.BaseUri 속성을 사용할 수도 있습니다. 앱의 프로젝트 구조 내에서 XAML 페이지를 가져오는 위치인 기본 URI를 제공합니다.

참고  자동 처리를 사용하여 현재 배율과 문화권 한정자로 정규화되지 않은 리소스에 액세스하거나, 문화권 및 배율 한정자와 함께 ResourceManagerResourceMap을 사용하여 직접 리소스를 가져올 수 있습니다. 자세한 내용은 리소스 관리 시스템을 참조하십시오.

이미지 소스 및 배율

Windows 8에서 크기를 조정할 때 앱이 멋있게 보이도록 여러 가지 권장 크기로 이미지 소스를 만들어야 합니다. ImageBrush에 대해 ImageSource를 지정하면 현재 배율에 맞는 리소스를 자동으로 참조하는 명명 규칙을 사용할 수 있습니다. 명명 규칙 및 자세한 내용은 빠른 시작: 파일 또는 이미지 리소스 사용을 참조하십시오.

픽셀 밀도 조정 디자인 방법에 대한 자세한 내용은 픽셀 밀도 조정 지침을 참조하십시오.

앱 리소스 및 앱에 이미지 소스를 패키징하는 방법에 대한 자세한 내용은 앱 리소스 정의를 참조하십시오.

Windows 8 동작

Windows 8에서는 ImageBrush가 컨트롤에 적용된 템플릿 또는 XAML 스타일의 일부인 경우 XAML 특성 URI 값의 ImageSource 해상도에 문제가 있었습니다. 컨트롤 사용 시 스타일 또는 템플릿에 적합한 기본 URI(일반적으로 앱에 포함되어 있음) 대신 구성 요소별 기본 URI가 사용될 때가 있습니다. 이 문제는 Windows 8.1에서 수정되었습니다. 기본 URI가 필요한 범위에 따라 앱 리소스 또는 구성 요소 리소스에 대해 기본 URI가 올바르게 결정됩니다. Windows 8용으로 컴파일한 앱은 "잘못된" 장소에 배치된 이미지 소스 파일에 대해 XAML URI가 위치를 확인하여 앱이 이미지를 표시하는 이 동작의 문제 해결 방법을 사용하고 있을 수 있습니다. XAML을 Windows 8에서 Windows 8.1로 마이그레이션하는 경우 XAML에서 스타일이나 템플릿의 ImageBrush 사용을 테스트하고 앱의 이미지 해상도가 Windows 8.1에서 작동하는지 확인해야 합니다. 문제가 있으면 이미지 소스 파일이 새 동작에 대한 올바른 리소스 범위에 있도록 패키지 내의 이미지 소스 파일을 이동해야 합니다.

Windows 8에 대해 컴파일되었지만 Windows 8.1에서 실행하는 앱이 계속해서 Windows 8 동작을 사용합니다.

요구 사항

지원되는 최소 클라이언트

Windows 8

지원되는 최소 서버

Windows Server 2012

Namespace

Windows.UI.Xaml.Media
Windows::UI::Xaml::Media [C++]

Metadata

Windows.winmd

참고 항목

ImageBrush
BitmapImage
Image
빠른 시작: Image와 ImageBrush

 

 

표시:
© 2014 Microsoft