2010-02-17 4 views
3

En utilisant this question (Inline editing TextBlock in a ListBox with DataTemplate (WPF) J'ai maintenant un ListBox qui peut être doubleclicked pour éditer les éléments dedans. Ce que je veux maintenant, c'est d'avoir un Button sur le formulaire, qui quand on clique va ajouter un nouvel élément au ListBox (c'est facile), mais ensuite changer le ListBoxItem en editmode, de sorte que l'utilisateur peut entrer la valeur tout de suite. Comment choisir le bon ListBoxItem, puis trouver le TextBlock et TextBox à l'intérieur et changer la visibilité d'entre eux en utilisant le SelectedIndex?wpf éditer l'élément dans la liste quand un bouton est cliqué quelque part sur le formulaire

Répondre

0

Je sais que c'est une réponse vraiment en retard pour cela, mais avez-vous envisagé d'ajouter des méthodes BeginEdit et EndEdit à vos articles? Vous pouvez faire quelque chose comme:

CustomListBoxItem foo = new CustomListBoxItem(); 
customListBoxInstance.Add(foo); 
foo.BeginEdit(); 

je devais le faire avec deux ou trois de mes contrôles personnalisés qui devait être créé et entrer immédiatement en mode d'édition. Vous finiriez avec quelque chose comme:

private void TextBlock1_DoubleClick(object sender, RoutedEventArgs e) 
{ 
    BeginEdit(); 
} 

public void BeginEdit() 
{ 
    // Code to put the item into edit mode. 
} 

Je dois voir plus de code pour donner une réponse plus précise, mais qui a travaillé vraiment bien dans mon expérience pour contrôler si oui ou non un contrôle est en modifier mode de l'extérieur de la portée de ce contrôle.

Questions connexes