2009-07-13 3 views
2

(탐색에 사용되는) BitMap 속성이 포함 된 클래스 컬렉션에 목록 상자를 바인딩하는 Silverlight 2.0 응용 프로그램이 있습니다. 저는 XAP에있는 이미지를 내용으로 포함 시켰으며 BitMap을 수동으로 만들고 컨트롤 소스로 설정했습니다. 또한 이미지를 DLL에 리소스로 포함하고 manifestresourcestream에서 이미지를 가져 와서 이미지를 설정했습니다. XAP가 Silverlight 2.0 플러그인을 사용하여 표시 될 때이 두 경로는 모두 훌륭하게 작동하므로 이미지가 올바르게 배포되고 있음을 알 수 있습니다. 안타깝게도 Silverlight 3.0 플러그인이있는 컴퓨터에서 볼 때이 두 가지 방법 모두 이미지를 목록 상자에 표시하지 않습니다.Silverlight 2.0에서 Silverlight 3.0으로 이미지 바인딩

참고이 문제는 바인딩이 목록 상자의 ItemTemplate에서 발생하는 경우에만 발생합니다. 목록 상자 밖에서 동일한 속성을 설정하면 이미지를 찾고 정상적으로 작동하는 것처럼 보입니다.

2.0과 3.0 사이의 ListBox 바인딩에서 변경된 사항은 무엇입니까? 오류를 재현 할 수있는 컴퓨터에 Silverlight 플러그인 3.0.40307을 빌드했습니다.

케빈이

+0

. 나는 이러한 불황의 원인이 무엇이 구체적으로 변했는지는 모르지만 나는 적어도 당신의 고통을 인정하고 싶었습니다. –

+0

응용 프로그램의 다른 영역에서 한 가지 발견 한 점은 ListBox에서 내 이미지를 데이터 바인딩하는 유일한 방법은 이미지를 서버에두고 서버에 URI로 구성된 BitMap에 바인딩하는 것입니다 . 당장은 이것이 내가 사용하고있는 해결 방법입니다. 실망한 일종의 변화가 있었으면 좋겠다. –

+0

위의 코멘트를 긁으십시오. 응용 프로그램의 다른 영역은 ItemsControl을 사용하여 동일한 데이터 바인딩에서 제대로 작동하는 것으로 보입니다. 오류가 ListBox에있는 것으로 나타납니다. –

답변

1

좋아요 ... 해결책은 (실버 보드의 도움 덕분에) 발견 :

첫째, 그것은 단지 실버 라이트 3.0 플러그인의 전체 릴리스와 함께 작동합니다. 이상한 문제가 발생합니다 (아래 설명 참조).

두 번째로 이미지 또는 비트 맵 클래스로 직접 바인딩하고 대신 생성자에 전달 된 Bitmap으로 쉽게 인스턴스화 할 수있는 Imagesource 클래스를 사용해야했습니다. 간단합니다 ... 왜 이것이 SL 3.0에서는 필요하지만 2.0에서는 필요하지는 않지만 내 코드가 깨졌습니다. 내 코드는 여전히 2.0 플러그인에 대해 작성되고 컴파일되지만 3.0 플러그인에서 실행됩니다.

이상한 문제가 발생했습니다 ... SL 2.0, SL 3.0 (베타) 및 SL 3.0 (풀 릴리스)이있는 VM 또는 데스크톱이 테스트에 사용 가능합니다. 내 플러그인은 이제 SL 2.0 및 SL 3.0 (풀 버전)에서는 제대로 작동하지만 SL 3.0 (베타)에서는 작동하지 않습니다. 나는 아무 경고도 얻지 않으며 그것은 잘 열려, 다만 나의 심상은 묶지 않는다. 그래서 내 관심은 많은 개발자/기술 지향적 인 사람들이 3.0의 베타 버전을 갖게 될 것이고 이는 여전히 이전 버전과의 호환성을 유지하면서 2.0 플러그인을 실행한다는 것입니다. 그들은 어떤 이유로 든 내 사이트를 실행하도록 업그레이드하지 않아도됩니다.

당신은 여기에서 확인할 이러한 환경 중 하나가 해당 사이트에 대한 링크 인 경우 : http://stlouisdayofdotnet.com/DayOfDotnet.html리스트 박스와 데이터 그리드 (I 현재 데이터 그리드 사람을 앓고 있어요) 모두 바인딩에 약간의 변화가 있었다