Bouton ajouter à la liste de façon dynamique dans chaque ligne à l'aide de C#

J'ai un ListView dans lequel je dois afficher toutes les lignes extraites de ma table de base de données. De nouveau, je dois donner deux boutons modifier et supprimer dans chaque ligne. Comme je suis débutant pour la même chose, j'ai essayé le code suivant dans le code XAML-

<ListView Height="352" HorizontalAlignment="Left" Margin="20,90,0,0" Name="Tab1lstProductCategories" VerticalAlignment="Top" Width="1008">
                        <ListView.View>
                            <GridView>
                                <GridViewColumn Header="Category Name" DisplayMemberBinding="{Binding Col1}" Width="200"/>
                                <GridViewColumn Header="Created Date" DisplayMemberBinding="{Binding Col2}" Width="200"/>
                                <GridViewColumn Header="Last Updated" DisplayMemberBinding="{Binding Col3}" Width="200"/>
                                <GridViewColumn Header="Edit" Width="200">
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                            <Button Content="Edit" Click="EditCategory" CommandParameter="{Binding Id}"/>
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                                <GridViewColumn Header="Delete" Width="200">
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                            <Button Content="Delete" Click="DeleteCategory"/>
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                            </GridView>
                        </ListView.View>
                    </ListView>

Et en C#, j'ai Écrit-

 DataTable dt=db.Select("select * from ProductCategories");
           for (int i = 0; i < dt.Rows.Count; i++)
        {
            //Button edit, delete;
            //edit = new Button();
            //edit.Content="Edit";
            //edit.Click += EditCategory;
            //delete= new Button();
            //delete.Content="Delete";
            //delete.Click += DeleteCategory;
            //edit.CommandParameter = dt.Rows[i]["Id"];
            //delete.CommandParameter = dt.Rows[i]["Id"];
            Tab1lstProductCategories.Items.Add(new { Col1 = dt.Rows[i]["CategoryName"], Col2 = dt.Rows[i]["CreatedDate"], Col3=dt.Rows[i]["LastUpdated"]});                
        }



private void EditCategory(object sender, RoutedEventArgs e)
        {
            Button b=sender as Button;
            MessageBox.Show(b.CommandParameter.ToString());
        }

    private void DeleteCategory(object sender, RoutedEventArgs e)
    {
    }

J'ai obtenu le résultat que-
Bouton ajouter à la liste de façon dynamique dans chaque ligne à l'aide de C#

Je veux bouton au dessus, s'il vous plait, aidez-moi.

  • De ne pas créer ou manipuler des éléments d'INTERFACE utilisateur dans le code de procédure en WPF. C'est ce que XAML est pour. Vous êtes à la recherche d'un CellTemplate.
  • Les liaisons utilisera automatiquement ToString() méthode pour afficher un contenu lorsqu'il n'est pas donné une certaine DataTemplate. Utiliser un CellTemplate pour cela.
  • Les gens devraient arrêter de liaison de l'INTERFACE utilisateur directement à la base de données ...
  • OMG Pourquoi dans le monde vous liant à un type anonyme?? La création d'un modèle de données à la place, ou l'utilisation d'un ORM.