2009-08-15 75 views
2

我正在設計一個應用程序,我基本上想要加載使用路徑(國家概述)定義的地理地圖。動態WPF地理地圖顯示usercontrol

地圖應該顯示在我的窗口上,當我將每個國家懸停在地圖上時,它應該改變顏色。

我設法做到這一點部分通過將svg映射導出到xaml並將此xaml包含在自定義用戶控件中。我目前的代碼非常類似於用於設計THIS的代碼。

不過,我現在想以這樣的方式來修改軟件,我可以:

一)在運行時加載不同的地圖;因此應該有一種方法可以在運行時將路徑加載到我的控件中。 b)以某種形式的xml文件格式獲取地圖信息,它不僅可以存儲地圖圖形,還可以存儲用於其他東西/信息的附加數據塊。

我真的很新的WPF和有關於如何去這個完全沒有頭緒......

+0

你能夠使用WPF上的矢量地圖瓷磚源? – aledustet 2015-01-20 21:11:32

回答

1

作爲一個起點,你可以看看動態加載XAML文件到一個窗口。舉例來說,從你的窗口類的代碼,你可以做到這一點(見XamlReader在System.Windows.Markup):

FileStream s = new FileStream("code.xaml", FileMode.Open); 
DependencyObject root = (DependencyObject)XamlReader.Load(s); 
this.Content = root; 
Button button1 = (Button)LogicalTreeHelper.FindLogicalNode(root, "button1"); 
button1.Click += button1_Click; 

從一個名爲code.xaml加載XAML和附加到按鈕的單擊事件所謂BUTTON1包含在XAML文件中:

<StackPanel 
    xmlns= 
    "http://schemas.microsoft.com/winfx/2006/xaml/presentation"> 
    <Button Name="button1" Margin="30">click me.</Button> 
</StackPanel> 

注意code.xaml內的代碼並不完全描述一個窗口,但只是窗口的內容是什麼(即StackPanel的是最高級別的元素) 。

我敢肯定,這仍然遠離你正在尋找的東西,但希望它會有一些幫助!