this을 시도했으며 this (첫 번째로 이어짐)을 보았습니다. 그것들은 WPF를위한 훌륭한 솔루션입니다. 우리 모두가 알기 시작하면서, Windows Phone 7에는 멋진 엣지 케이스가 빠져 있습니다.이미지를 WP7의 로컬 리소스로 설정
내 프로젝트는 동적 인 이미지가없는 것으로 판단됩니다. 리소스 파일에 바인딩하려고하는 태그가 있는데 작동하지 않습니다. 다음 두 가지 모두 시도해 보았지만 어느 것도 작동하지 않는 것 같습니다.
먼저 인기있는 변환기입니다. URI 문자열을 가져 와서 비트 맵 이미지를 반환합니다. 분명히 그것은 WPF에서 작동하지만, 나는 그것을 작동하게 만들 수 없습니다.
public class BitmapImageConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
try
{
return new BitmapImage(new Uri((string)value));
}
catch
{
return new BitmapImage();
}
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
다음은 BitmapImage 속성입니다. 이 제품이 실제로 작동하지 않을 것이라고 기대하지 않았으며 실망시키지 않았습니다.
public BitmapImage ImgSource
{
get
{
// ImgURI is a URI to the image.
BitmapImage newImg = new BitmapImage(new Uri(ImgURI));
// Tried ALL the creation options. :(
//newImg.CreateOptions = BitmapCreateOptions.None;
return newImg;
}
}
이
내가 점을 디버깅 한 <Image Name="imgMap"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Source="{Binding ImgURI, Mode=OneWay, Converter={StaticResource bitmapConverter}}"
Stretch="None"/>
나는 각 바인딩은 반환 것을 알고 .... 내가 (다른 곳에서 정의 된) 인 계산기에 사용하고있는 XAML입니다 그것이 무엇을 해야하는지. 변환기가 호출되고 내가해야한다고 생각하는 것을 수행합니다. ImgURI는 항상 "/MyNamespace;component/Images/MyImg.jpg"형식의 문자열을 반환하며 ImgSource는 항상 bitmapImage입니다. 모든 이미지에는 BuildAction of "Resource"가 있습니다.
나는 분명히 뭔가를 놓치고 싶습니다. 내 문제를 살펴 주셔서 감사 드리며 추가 정보가 필요하면 의견을 남겨주세요.
리소스는 소비중인 '이미지'와 동일한 어셈블리에 있습니까? 이것은 에뮬레이터와 장치에서 모두 실패합니까? 변환기가 예외를 던지거나 다른 것을 던지나요? –
예. 예. 변환기가 정상적으로 작동하고 오류나 예외 또는 회피가 발생하지 않습니다. 이상하지. – Craig