2010-12-15 48 views
0

Existe-t-il un contrôle WPF open source qui ressemble à ListView et prend en charge l'édition en ligne? Plus spécifiquement, une cellule dans ListView devrait être modifiable lorsque vous double-cliquez dessus, et le résultat d'édition devrait être automatiquement sauvegardé à moins que vous n'appuyiez sur ESC après.WPF ListView qui prend en charge l'édition en ligne?

Répondre

2

Je ne connais pas de contrôles WPF qui font ce que vous cherchez, mais ce n'est pas une indication qu'ils n'existent pas. Si vous passez en revue le WPF Toolkit on Codeplex, vous pouvez trouver quelque chose et il y a beaucoup de projets OSS pour les contrôles WPF sur Codeplex en plus de la boîte à outils.

Vous pouvez en créer un très facilement en utilisant le modèle de contrôle de contenu WPF. Voici un exemple de ListBox avec un ensemble de contrôles utilisés pour représenter les objets liés à la liste.

<ListBox x:Name="sampleListBox" 
     Width="500"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <Grid> 
       <GridRowDefinitions> 
        <RowDefinition Height="25"/> 
        <RowDefinition Height="25"/> 
       </GridRowDefinitions> 
       <TextBox Grid.Row="0" Source="{Binding EditableProperty1}}"/> 
       <TextBox Grid.Row="1" Source="{Binding EditableProperty2}"/> 
      </Grid> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

Vous pouvez contrôler le caractère modifiable des contrôles avec des styles de sorte que lorsque l'élément ListBox est sélectionné, les contrôles internes sont modifiables, mais sinon, ils ne sont pas. Je n'ai pas accès à mon ordinateur portable de travail, donc je ne peux pas donner un exemple de style mais il y a beaucoup de matériaux sur le web qui peuvent vous aider. Et si vous avez Expression Blend 4, il a beaucoup de fonctionnalités qui peuvent vraiment vous aider lorsque vous stylisez vos propres contrôles.

+1

mieux c'est le contrôle DataGrid – biju