2011-05-02 3 views
2

필자는리스트 뷰어와 함께 scrollviewer 내부에있는 bing 맵을 가지고 있습니다. scrollviewer 내부의 bing 맵과 관련된 문제

이제 문제는에서 ScrollViewer의 내용을 아래로 스크롤 할 때,

<TextBlock Text="some text" /> 
<ScrollViewer> 
    <map:Map ... /> 
    <ListBox ... /> 
</ScrollViewer> 

은 무엇인가 "빙지도 (에서 ScrollViewer의 경계 외부)에서 ScrollViewer 위에있는 다른 요소 위에 렌더링"입니다 잘못된? 알려진 버그입니까? (1)에만 빙지도 타일 이미지 렌더링 : 가 내 검색 결과 목록 상자에서 작은지도를 포함하기 위해 노력하고있어

일부 관찰 (창 전화 빙 결과 페이지와 동일하게 '지역'피벗 항목 않습니다) (압핀조차도 아님) (2) scrollviewer 아래에있는 요소 (xaml에 있음)가지도 위에 정확하게 렌더링됩니다!

고맙습니다.

답변

1

좋아요, 마침내 멋진 해결 방법을 찾았습니다. 멋지게 보입니다. 트릭입니다 :

하나. 우리는 페이지/UserControl을의 생성자에 다음 줄을 추가하여 빙지도 타일 이미지를 비활성화

map.Mode.Content.Visibility = System.Windows.Visibility.Collapsed; 

두. 지도 컨트롤 직전에지도 컨트롤과 동일한 너비와 높이를 가진 요소를 추가합니다.

THREE. http://msdn.microsoft.com/en-us/library/ff701724.aspx

var url = "<bing static map api url for my location and zoom level - without any pushpin>"; 
var uri = new Uri(url); 
imgStaticMap.Source = new BitmapImage(uri); 

이 방법 : 지금 우리는 "빙 정적지도 API"에서 이미지 요소에 대한 BitmapImage를 구축

  • 우리는 같은지도 (모두 빙되어지도)
  • 이있을 것이다
  • 정적지도가 정상적으로 스크롤 막대에 표시됩니다.
  • 이 경우에는이 방법이 더 좋기 때문에 작은지도에 로딩 효과가 적용되지 않습니다 (피할 수없는로드 효과가 있음)
1

지도를 스크롤 뷰어에 넣지 마십시오.

이렇게하면 앱 내에서 스크롤하는 문제를 방지 할 수 있습니다.

+0

내가 필요하다면 내가 만들 것 "결정"입니다. 하지만 내가 여기서 찾고있는 것은이 문제에 대한 해결책이거나 또는 왜 이것이 일어나고 있는지, 또는 이것이 알려진 버그인지 여부입니다. 빙 검색 결과 페이지의 '로컬'탭에서 OS 자체가이 효과 (스크롤 막대 내부의 맵)를가집니다. 스크롤 뷰어 외부에 bing 맵을 넣으면 화면에 많은 공간이 낭비됩니다. –

+1

기본 응용 프로그램은 Silverlight로 작성되지 않았으므로 수행 할 수있는 작업과 수행 할 수없는 작업에 대한 제한 사항이 다릅니다. 프레임 워크에 의해 노출되는 것의 한계 내에서 작업해야합니다. –

+0

기본 앱의 모든 기능이 내 앱에서 가능하지 않을 수도 있습니다. 그러나 나는 이것이 불가능하다는 것을 확신하지 못한다. 왜냐하면 (1) 빙 맵 타일 이미지 만이 화면 위에 렌더링되기 때문이다. (2) scrollviewer (xaml에서) 아래에있는 요소들이 정상적으로 렌더링된다. 지도의! –