Domanda

Io sono la progettazione di un'applicazione in cui Io fondamentalmente voglio caricare carte geografiche che vengono definite utilizzando percorsi (linee di paesi).

Le mappe dovrebbe essere visualizzato sulla mia finestra e quando mi passa il mouse ogni paese sulla mappa, si dovrebbe cambiare colore.

Sono riuscito a fare questo in parte esportando una mappa SVG per XAML e compreso questo XAML in un controllo utente personalizzato. Il mio codice attuale è molto simile a quello utilizzato per la progettazione di QUESTO .

Tuttavia, ora voglio modificare il software in modo tale che posso:

a) carico di mappe diverse in fase di esecuzione; quindi non ci dovrebbe essere un modo per caricare i tracciati in mio controllo in fase di esecuzione.

b) Ottenere le informazioni della mappa in una qualche forma di formato di file XML che non solo mi permette di memorizzare una mappa grafica, ma anche blocchi di dati aggiuntivi per altre cose / informazioni.

Sono veramente nuovo a WPF e non hanno assolutamente alcun indizio su come andare su questo ...

È stato utile?

Soluzione

Come punto di partenza, si potrebbe guardare in caricare dinamicamente un file XAML in una finestra. per esempio, dal codice classe Window, è possibile farlo (vedi XamlReader in 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;

per caricare XAML da un file chiamato code.xaml e collegare l'evento click di un pulsante denominato button1 contenuta all'interno di tale file XAML:

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

Si noti che il codice all'interno code.xaml non piena descrive una finestra, ma proprio quello che il contenuto della finestra è (cioè lo StackPanel è l'elemento di livello superiore).

Sono sicuro che questo è ancora lontano da quello che stai cercando, ma si spera che sarà di qualche aiuto!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top