Zone de texte, Bouton et ListBox dans une ListBox

J'ai une listbox avec un tas de contols dans chaque élément de la liste.

<ListBox x:Name="projectList" IsSynchronizedWithCurrentItem="True">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding Name}" />
                <ListBox x:Name="taskList" ItemsSource="{Binding Tasks}">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <TextBlock Text="{Binding Name}" />
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
                <TextBox x:Name="textBoxTask" />
                <Button
                    x:Name="ButtonAddNewTask"
                    Content="Test"
                    CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=DataContext}"
                    Click="ButtonAddNewTask_Click"
                    />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Quand je clique sur le bouton dans la zone de liste, je veux ajouter un nouvel élément à la liste dans la zone de liste. J'ai parcouru beaucoup de chemin. Donc ma question est comment puis-je obtenir de l'emprise de la zone de texte et comment puis-je mettre à jour la zone de liste?

Voici mon événement click

private void ButtonAddNewTask_Click(object sender, RoutedEventArgs e)
{
    Button button = (Button)sender;
    Project proj = button.DataContext as Project;
    if(proj.Tasks == null)
        proj.Tasks = new List<Task>();

    proj.Tasks.Add(new Task("Added Task"));
}

Merci

  • Que voulez-vous dire par "mettre la main de la boîte de texte"?
  • L'objectif était de créer la tâche avec le texte de la zone de texte. Zone de texte newTaskTextBox = quelque chose ici; proj.Les tâches.Ajouter(nouvelle Tâche(newTaskTextBox.Texte));
InformationsquelleAutor Emil C | 2009-03-10