2008-12-23 10 views
1

J'affiche plusieurs lignes de données dans une vue de liste liée à une liste de classes personnalisées. La classe personnalisée a une propriété appelée type. Le nombre de types autorisés est limité et je voudrais limiter l'utilisateur à apporter des modifications en sélectionnant à partir d'une liste déroulante. J'ai essayé d'ajouter une zone de liste déroulante à la classe de base, mais celle-ci ne s'affichait pas en tant que zone de liste déroulante dans la vue de liste.Comment afficher une zone de liste déroulante dans une ListView lors de la liaison?

Répondre

0

Trouvé en ligne et semblait être un bon point de départ pour commencer à travailler avec DataTemplates.

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/749c8e84-3af3-4ec9-90b1-297d684025e7/

<Window x:Class="Window1" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="Window1" Height="300" Width="300"> 

<Window.Resources> 

    <XmlDataProvider x:Key="MyData" XPath="/Info"> 
     <x:XData> 
      <Info xmlns=""> 
       <Item ID="123" Catalog="Category1"/> 
       <Item ID="456" Catalog="Category2"/> 
       <Item ID="789" Catalog="Category3"/> 
      </Info> 
     </x:XData> 
    </XmlDataProvider> 

    <CollectionViewSource x:Key='src' Source="{Binding Source={StaticResource MyData}, XPath=Item}" /> 

</Window.Resources> 

<Grid> 

    <ListView Name="mylist" ItemsSource="{Binding Source={StaticResource src}}"> 

     <ListView.View> 

      <GridView> 

       <GridViewColumn Header="Catalog" Width="100"> 

        <GridViewColumn.CellTemplate> 
         <DataTemplate> 
          <ComboBox Name="mycombo" SelectedValue="{Binding [email protected]}"> 
           <ComboBoxItem>Category1</ComboBoxItem> 
           <ComboBoxItem>Category2</ComboBoxItem> 
           <ComboBoxItem>Category3</ComboBoxItem> 
          </ComboBox> 
         </DataTemplate> 

        </GridViewColumn.CellTemplate> 

       </GridViewColumn> 

       <GridViewColumn Header="ID" Width="100" DisplayMemberBinding="{Binding [email protected]}" /> 

      </GridView> 

     </ListView.View> 

    </ListView> 

</Grid> 

0

Vous devez utiliser un DataTemplate.

De nombreux tutoriels sont disponibles en ligne.

Questions connexes