에 부모를 얻기 나는 다음과 같은 한 XAML 코드 : 또한 XAML
<maps:Map Name="PlaygroundMap" Credentials="YOUR_BING_MAPS_KEY">
<maps:MapItemsControl
x:Name="PlaygroundMapItems"
my:MapExt.ClusteredItemsSource="{Binding Locations}"
ItemTemplate="{StaticResource PinTemplate}"/>
</maps:Map>
ClusteredItemsSource은 (단지 중요한 부분이 표시됩니다) 다음 코드를 사용하여 내 자신의 연결된 속성입니다 :
private static void OnItemsReceived(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var mapItemsControl = d as MapItemsControl;
if(mapItemsControl == null) return;
var map = VisualTreeHelper.GetParent(mapItemsControl); // this is always NULL
var map2 = mapItemsControl.Parent; // this is always NULL
var items = e.NewValue as IEnumerable<Location>;
mapItemsControl.ItemsSource = items;
}
그래서 내 요구 사항은 OnItemsReceived 메서드에서 MAP 참조를 갖는 것입니다. XAML을 다시 확인하면 mapItemsControl이 Map의 자식인지 (또는지도가 mapItemsControl의 부모인지) 알 수 있기 때문에 쉽게 생각할 수 있습니다.
하지만 어쨌든 변수 맵 & map2는 항상 NULL입니다. 이것은 정상적인 행동입니까?
또한이 "상위"접근 방식이 작동하지 않는 경우 MapItemsControl의지도 참조를 가져 오는 다른 옵션이 무엇인지 제안 해주세요. 정확하게 내 맞춤 첨부 속성에서지도 참조를 얻으려고합니다.
Btw, WinRT 용 Bing Maps SDK를 사용 중입니다.
감사합니다. 마지막 문장은 내가 마지막으로 한 일이다. :) – rjovic