우리 프로젝트에서는 일부 종속성 속성을 사용하여 사용자 지정 컨트롤을 만들었습니다. 이 컨트롤을 사용하는 xaml 페이지에서 Map 컨트롤의 BoundingRectangle 속성을이 사용자 지정 컨트롤에 바인딩하므로 사용자 지정 컨트롤에서 이러한 LocationRect 개체를 사용할 수 있습니다.BoundingRectangle을 사용자 지정 컨트롤 종속성 속성에 바인딩
우리가 디버깅 할 때 BoundingRectangle (North, NorthEast 등)의 모든 속성이 모두 같은 위치에 있음을 알 수 있습니다. 지도에서 속성을 확인하는 경우 이러한 속성이 모두 동일한 것은 아닙니다. (예상대로)
변경 콜백을 dependencyproperty에 첨부했으며 모든 속성이 동일한 값을 가지고 있음을 확인했습니다. 그러나 Center 속성을 바인딩하면 제대로 표시됩니다.
우리는이 같은 사용자 정의 컨트롤의 속성을 바인딩 :
<CustomControls:MiniMap Name="SmallMap" BoundingBox="{Binding ElementName=Map, Path=BoundingRectangle}" />
을 그리고 이것은 우리의 종속성 속성입니다 다음 LocationRectangle이 때 BoundingBox의 속성이 업데이트되지 않는 이유
public static readonly DependencyProperty BoundingBoxProperty =
DependencyProperty.Register("BoundingBox", typeof(Location), typeof(MiniMap), new UIPropertyMetadata(new LocationRect()));
누구나 알고 지도에서 업데이트 되었습니까?
당신은 문제가 무엇인지 설명하지 않았다. 문제는지도의 BoundingRectangle 속성이 변경되면 사용자 정의 컨트롤의 BoundingBox 속성이 업데이트되지 않는다고 가정합니다. 그게 문제 야? 예인 경우 : Map의 BoundingRectangle 속성이 종속성 속성입니까? 종속성 프로퍼티가 아닌 경우 : Map이 INotifyPropertyChanged를 구현합니까? –
네 말이 맞아, 나는 그 질문을 업데이트했다. 내장 된 Microsoft Bing Maps 컨트롤을 사용하고 있습니다. BoundingRectangle 속성이 종속성 속성인지 확인하는 방법이 있습니까? – ChristiaanV
문서에'BoundingRectangleProperty'라는 이름의 필드가있는 경우, 의존성 프로퍼티입니다. 그렇지 않으면, 그것은 일반적인 속성입니다. –