2010-11-04 5 views
0

J'ai un DataGrid qui est comme suit ::WPF DataGrid liaison XML affichant plusieurs éléments dans une cellule en utilisant DataTemplate

<wpfkit:DataGrid AutoGenerateColumns="False" 
     ItemsSource="{Binding}" 
     Width="Auto" 
     FrozenColumnCount="2" 
     SelectionMode="Extended" 
     CanUserAddRows="False" 
     x:Name="CommonPEGrid" 
     Loaded="CommonPEGrid_Loaded"> 
    <wpfkit:DataGrid.DataContext> 
     <XmlDataProvider Source="PE.xml" XPath="/Rows/Row"></XmlDataProvider> 
    </wpfkit:DataGrid.DataContext> 
</wpfkit:DataGrid> 

Je suis le liant de XML à DataGrid. Mon XML est le suivant ::

<Rows> 
<Row Id="1"> 
    <Devices> 
    <Device>Device 1</Device> 
    <Device>Device 2</Device> 
</Devices> 
</Row> 

<Row Id="2"> 
    <Devices> 
    <Device>Device 3</Device> 
    <Device>Device 4</Device> 
    </Devices> 
</Row> 

J'ai un DataTemplate pour une cellule DataGrid définie comme suit ::

<DataTemplate x:Key="MethodDefault"> 
    <ComboBox Margin="5" Height="25" ItemsSource="{Binding XPath=./Devices}" SelectedIndex="0" 
         > 
     <ComboBox.ItemTemplate> 
      <DataTemplate> 
       <TextBlock Text="{Binding XPath=./Device}"></TextBlock> 
      </DataTemplate> 
     </ComboBox.ItemTemplate> 
    </ComboBox> 
</DataTemplate> 

Le problème est-il affiche toujours seulement 1 Dispositif c'est-à-dire premier dispositif dans la zone de liste déroulante. Je veux afficher tous les appareils dans une liste déroulante. Je ne sais pas comment les parcourir. J'avais pensé que ComboBox va itérer automatiquement ce qui n'est pas le cas. Aidez-moi, s'il vous plaît!!

Répondre

0

Je pourrais trouver la réponse. Je l'affiche en supposant que cela aide quelqu'un !!

<ComboBox ItemsSource="{Binding XPath=.//Devices}" SelectedIndex="0" > 

</ComboBox> 
Questions connexes