XAML에서 이미지 리소스를 참조하는 방법
제가 넣었어요Image
"Resources.resx"라는 프로젝트 리소스 파일에 저장된 이미지를 표시합니다.리소스 파일의 이미지 이름은 '검색'입니다.
제가 어떻게 해야 하는지 누가 좀 보여주시겠어요?
이미지가 리소스 폴더에 있고 빌드 작업이 리소스로 설정된 경우.다음과 같이 XAML의 이미지를 참조할 수 있습니다.
"pack://application:,,,/Resources/Search.png"
Resources 폴더 아래에 폴더 구조가 없고 응용 프로그램이라고 가정합니다.예를 들어 다음과 같습니다.
ImageSource="pack://application:,,,/Resources/RibbonImages/CloseButton.png"
[ Resources ]폴더에 [RibbonImages]라는 이름의 폴더가 있는 경우.
프로젝트의 아이콘 폴더에 이미지가 있고 빌드 작업이 "리소스"인 경우 다음과 같이 참조할 수 있습니다.
<Image Source="/Icons/play_small.png" />
그게 가장 간단한 방법이에요.프로젝트 파일이 없는 리소스 관점에서만 이 작업을 수행할 수 있는 유일한 방법입니다.
var resourceManager = new ResourceManager(typeof (Resources));
var bitmap = resourceManager.GetObject("Search") as System.Drawing.Bitmap;
var memoryStream = new MemoryStream();
bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp);
memoryStream.Position = 0;
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = memoryStream;
bitmapImage.EndInit();
this.image1.Source = bitmapImage;
리소스 파일을 사용하는 이점 중 하나는 리소스를 이름으로 액세스할 수 있기 때문에 리소스가 최신 상태로 유지되는 한 올바른 이미지가 표시될 수 있습니다.
이를 실현하기 위한 보다 깔끔한 접근방식을 다음에 제시하겠습니다.Resources.resx가 UI에 있다고 가정합니다.이미지의 네임스페이스를 다음과 같이 xaml에 네임스페이스 참조를 추가합니다.
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:UI="clr-namespace:UI.Images"
다음과 같이 이미지 소스를 설정합니다.
<Image Source={Binding {x:Static UI:Resources.Search}} />
여기서 'Search'는 리소스 이름입니다.
- "기존 항목"을 통해 프로젝트에 폴더를 추가하고 이미지를 추가할 수 있습니다.
- XAML은 다음과 같습니다.
<Image Source="MyRessourceDir\images\addButton.png"/>
- F6(빌드)
언급URL : https://stackoverflow.com/questions/5552618/how-to-reference-image-resources-in-xaml
'sourcecode' 카테고리의 다른 글
Linux, DST-safe에서 bash로 어제 날짜 가져오기 (0) | 2023.04.14 |
---|---|
새로운 행의 패턴을 grep로 지정하는 방법은 무엇입니까? (0) | 2023.04.14 |
Objective-C에서 문자열이 비어 있는지 테스트하려면 어떻게 해야 합니까? (0) | 2023.04.14 |
C#은 JavaScript 인코딩과 동등합니까?URIComponent()? (0) | 2023.04.14 |
다운스트림과 업스트림의 정의 (0) | 2023.04.14 |