반응형
코드 뒤의 이미지 소스 변경(Wpf)
이미지 소스를 동적으로 설정해야 합니다.이미지는 네트워크상의 어딘가에 있습니다.다음은 제 코드입니다.
BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri(@"pack://application:,,,\\myserver\\folder1\\Customer Data\\sample.png");
logo.EndInit(); // Getting the exception here
ImageViewer1.Source = logo;
예외:
URI 접두사가 인식되지 않습니다.
위의 솔루션 중 어느 것도 나에게 효과가 없었다.하지만 이것은 다음과 같습니다.
myImage.Source = new BitmapImage(new Uri(@"/Images/foo.png", UriKind.Relative));
한 줄만 있으면 됩니다.
ImageViewer1.Source = new BitmapImage(new Uri(@"\myserver\folder1\Customer Data\sample.png"));
여기서 사용하는 팩 구문은 응용 프로그램 내의 리소스로 포함된 이미지에 대한 것이지 파일 시스템의 느슨한 파일에 대한 것이 아닙니다.
실제 경로를 URISource에 전달하기만 하면 됩니다.
logo.UriSource = new Uri(@"\\myserver\folder1\Customer Data\sample.png");
응용 프로그램에 이미지를 추가하는 대신 폴더에서 이미지를 가져와야 했기 때문에 어떤 방법도 효과가 없었습니다.다음 코드가 작동했습니다.
TestImage.Source = GetImage("/Content/Images/test.png")
private static BitmapImage GetImage(string imageUri)
{
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.UriSource = new Uri("pack://siteoforigin:,,,/" + imageUri, UriKind.RelativeOrAbsolute);
bitmapImage.EndInit();
return bitmapImage;
}
넌 틀렸어! 왜? 이 코드만 작동하면 돼:
(이미지 표시) / C# Img is : 이미지 상자
이 상태를 그대로 유지합니다.변경하지 않고 ("ms-appx://") 이 코드는 앱명이 아닙니다.이미지는 프로젝트의 폴더입니다.dog.png는 폴더 내의 파일입니다.또한 dog.png도 폴더 내의 파일이며, 파일 "images"는 "ms-appx://images/png" 입니다.
private void Button_Click(object sender, RoutedEventArgs e)
{
img.Source = new BitmapImage(new Uri("ms-appx:///Images/dog.png"));
}
언급URL : https://stackoverflow.com/questions/3787137/change-image-source-in-code-behind-wpf
반응형
'programing' 카테고리의 다른 글
저장 프로시저에서 새 GUID를 생성하는 방법 (0) | 2023.04.21 |
---|---|
몬테카를로 시뮬레이션에서는 Excel의 RAND() 함수가 얼마나 좋습니까? (0) | 2023.04.16 |
dlls를 wpf를 사용하여 단일 .exe로 Marge하다 (0) | 2023.04.16 |
readxl 패키지를 사용하여 URL에서 Excel 파일 읽기 (0) | 2023.04.16 |
기존 개체에 확장자를 추가하는 Swift 파일의 이름을 지정하는 모범 사례는 무엇입니까? (0) | 2023.04.16 |