내 WPF 프로그램은 WPF 맵 컨트롤이있는 타사 맵 패키지를 사용합니다. 내 프로그램은이 소프트웨어가 설치되어 있지 않은 시스템에서 실행할 수 있어야하며, 소프트웨어가 설치되고 사용되는 것을 인식 할만큼 충분히 똑똑해야합니다. 즉, 양식 컨트롤의 XAML을 양식의 XAML 파일에 포함 할 수 없거나 XAML 구문 분석 예외가 throw됩니다.WPF 코드의 이벤트 처리기 설정
소프트웨어 설치 여부를 결정하는 기술이 있습니다. 내 프로그램의 초기화 코드에서 매핑 소프트웨어가 설치된 경우 MapsAreInstalled
이라는 Application 객체의 속성을 true로 설정하고 그렇지 않은 경우 false로 설정합니다.
내 양식에 UserControl 인 경우 OnApplyTemplate 메서드의 재정의를 추가했습니다. 이 값은 MapsAreInstalled
속성의 값을 확인하고 값이 true이면 새 맵 컨트롤을 만듭니다. 여기에 나는 그것이 내을 바꾸기로 작정되기 전에이 컨트롤을 만드는 데 사용 된 XAML는 다음과 같습니다
<telogis:MapControl ButtonBase.Click="CarImage_Click"
Canvas.Left="0"
Canvas.Top="0"
Center="41.366674544084,-73.6112966322899"
DragBehavior="None"
Heading="0"
Height="{Binding ElementName=ChannelCanvas, Path=ActualHeight}"
MapQuality="Perfect"
Name="ReadMap"
Perspective="TwoD"
RenderLabels="True"
UiEnable="True"
Width="{Binding ElementName=ChannelCanvas, Path=ActualWidth}"
Zoom="50" />
내가 ButtonBase.Click
이벤트 핸들러를 제외하고 뒤에 코드에서 이러한 모든 속성을 초기화하는 방법을 알고있다. 코드 숨김으로 어떻게 설정합니까?
토니