2017-06-23 1 views
-3

J'ai un xml comme ça ...Création ComboBox en XAML de XML

<Actions> 
 
    <Group Name="Process" Expand="true"> 
 
    <Action Name="Configure Process" Type="LaunchProcess"> 
 
     <Instructions>Click the button to launch Process.</Instructions> 
 
     <ActionDetails ProcessName="C:\program files (x86)\measure\process.exe"> 
 
     </ActionDetails> 
 
    </Action> 
 
    <Action Name="Update Process" Type="LaunchProcess"> 
 
     <Instructions>Click the button to update process.</Instructions> 
 
     <ActionDetails ProcessName="C:\Program Files\Updater.exe" WorkingDir="C:\Program Files\tools"> 
 
     </ActionDetails> 
 
    </Action> 
 
    </Group> 
 
    <Group Name="Windows" Expand="false"> 
 
    <Action Name="Set Time" Type="LaunchProcess"> 
 
     <Instructions>Set the time.</Instructions> 
 
     <ActionDetails ProcessName="control.exe" Arguments="timedate.cpl"> 
 
     </ActionDetails> 
 
    </Action> 
 
    <Action Name="Set Name" Type="LaunchProcess"> 
 
     <Instructions>Set the name.</Instructions> 
 
     <ActionDetails ProcessName="control.exe" Arguments="sysdm.cpl"> 
 
     </ActionDetails> 
 
    </Action> 
 
    </Group> 
 
<Actions>

Comment pourrais-je aller à faire une ComboBox en XAML de ce XML? Je travaille avec Visual Studio 2013 en C# et WPF.

+1

Qu'avez-vous essayé jusqu'à présent? – MoonBoots89

+1

Vous devez être plus spécifique à votre problème. Ce forum n'est pas conçu pour que les gens créent des solutions pour vous à partir d'un design inconnu. –

+0

Pensez à utiliser une vue arborescente. Facile à créer à partir de xml. Voir suivant: https://stackoverflow.com/questions/28976601/recursion-parsing-xml-file-with-attributes-into-treeview-c-sharp. Vous pouvez utiliser une arborescence cochée pour pouvoir sélectionner des nœuds. – jdweng

Répondre

2

La solution devrait ressembler à ceci:

Première Parse votre XML dans un DataModel. Vous pouvez le faire comme here.

deuxième (en option) envelopper votre modèle dans un `ViewModel ce qui est bien décrit here

Troisième Affichez vos trucs dans XAML.

Vous pouvez le faire en utilisant une de ces options

  • MVVM
  • DepdencyPoperty
  • Utilisation <Combobox x:Name="SomeComboBox" /> et définir/obtenir des données dans le code derrière.

Je pense que vous avez l'idée.