2009-08-15 23 views
2

私は基本的に、パス(国の概要)を使用して定義された地理的地図をロードするアプリケーションを設計しています。動的WPF地理的地図表示のユーザーコントロール

マップは自分のウィンドウに表示する必要があります。地図上で各国を移動すると色が変わります。

これは、svgマップをxamlにエクスポートし、このxamlをカスタムのユーザーコントロールに含めることによって、部分的にこれを行うことができました。私の現在のコードは、THISのデザインによく似ています。

はしかし、私は今では私ができるような方法でソフトウェアを変更したい:

a)は、実行時に異なるマップをロードします。したがって、実行時にパスを自分のコントロールにロードする方法があるはずです。

b)地図のグラフィックを保存できるだけでなく、他のものや情報のための追加のデータブロックを含むxmlファイル形式の形式で地図情報を取得します。

私はWPFには本当に新しいですし、これについて移動する方法については絶対見当もつかない...

+0

WPFでベクターマップタイルソースを使用できましたか? – aledustet

答えて

1

出発点として、あなたは動的にウィンドウにXAMLファイルを読み込むに見ることができます。例えば、あなたのWindowクラスコードから、あなたがこれを行うことができます(System.Windows.MarkupでXamlReaderを参照してください):

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を読み込むと、ボタンのクリックイベントにアタッチしますcode.xaml内のコードは、完全なウィンドウを説明していませんが、ちょうどウィンドウの内容が何であるか(つまりはStackPanelがトップレベルの要素である)ことを

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

注:と呼ばれるボタン1は、XAMLファイル内に含まれます。

これはまだあなたが探しているものから遠いと確信していますが、うまくいけば助けになるでしょう!

関連する問題