다음을 통해 공유


ImageBrush.ImageSource 속성

정의

ImageBrush에서 표시하는 이미지 원본을 가져오거나 설정합니다. ImageSource 하위 클래스 instance 사용하여 이 설정을 코드에서 XAML에서 URI를 사용하여 이미지 원본 파일로 설정합니다.

public:
 property ImageSource ^ ImageSource { ImageSource ^ get(); void set(ImageSource ^ value); };
ImageSource ImageSource();

void ImageSource(ImageSource value);
public ImageSource ImageSource { get; set; }
var imageSource = imageBrush.imageSource;
imageBrush.imageSource = imageSource;
Public Property ImageSource As ImageSource
<ImageBrush ImageSource="imageUri"/>

속성 값

ImageBrush 가 콘텐츠에 적용할 때 표시할 이미지 원본을 나타내는 개체입니다.

설명

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

XAML에서 ImageSource 설정

XAML에서 이 속성을 설정할 수 있지만, 이 경우 ImageSource 특성 값을 URI(Uniform Resource Identifier)를 나타내는 문자열로 설정합니다. 이 동작은 문자열을 URI(Uniform Resource Identifier)로 처리하고 BitmapImage(Uri) 생성자에 해당하는 내부 값을 호출하는 기본 형식 변환을 사용합니다.

XAML의 초기 ImageSource 특성 값이 유효한 원본을 지정하지 않으면 ImageFailed 이벤트가 발생할 수 있습니다. 상대 경로를 사용하여 앱으로 패키지하는 이미지를 참조하거나 절대 URI(Uniform Resource Identifier)를 사용하여 서버의 이미지를 참조할 수 있습니다. 앱의 일부로 패키지된 이미지 원본을 사용하는 경우 ms-appx 또는 ms-resource 체계를 사용하는 것이 일반적입니다.

코드에서 ImageSource 설정

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

리소스 요청을 scope 데 도움이 되도록 UI의 다른 개체와 관련하여 URI를 작성해야 하는 경우 UI의 다른 개체에서 호출된 FrameworkElement.BaseUri 속성을 사용할 수 있습니다. 그러면 XAML 페이지가 앱의 프로젝트 구조 내에서 제공되는 기본 URI가 제공됩니다.

참고

현재 크기 조정 및 문화권 한정자를 사용하여 정규화되지 않은 리소스에 액세스하기 위해 자동 처리를 사용하거나, Culture 및 scale에 대한 한정 자와 함께 ResourceManagerResourceMap 을 사용하여 리소스를 직접 가져올 수 있습니다. 자세한 내용은 리소스 관리 시스템을 참조하세요.

이미지 원본 및 크기 조정

Windows 8 크기를 조정할 때 앱이 멋지게 보이도록 몇 가지 권장 크기로 이미지 원본을 만들어야 합니다. ImageBrush에 대해 ImageSource를 지정할 때 현재 크기 조정에 대한 올바른 리소스를 자동으로 참조하는 명명 규칙을 사용할 수 있습니다. 명명 규칙의 특성 및 자세한 내용은 빠른 시작: 파일 또는 이미지 리소스 사용을 참조하세요.

크기 조정을 위해 디자인하는 방법에 대한 자세한 내용은 레이아웃 및 크기 조정에 대한 UX 지침을 참조하세요.

앱 리소스 및 앱에서 이미지 원본을 패키지하는 방법에 대한 자세한 내용은 앱 리소스 정의를 참조하세요.

이전 버전에 대한 참고 사항

Windows 8

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

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

적용 대상

추가 정보