如何创建通过读取wpf中的xml文件动态创建的按钮的点击事件?

How to create the click event of a button which is dynamically created by reading the xml file in wpf?

我是 wpf 的新手,我正在 wpf 上做一些 poc controls.I 通过读取我的 xml 文件动态创建了按钮,并将按钮放在 stackpanel.i 想通过点击它来编写按钮的点击事件,我写了一个点击事件,它给出了堆栈面板内的所有按钮名称,但我想要的是我想在我点击时获得相应的按钮名称。

我的 XML 文件:

<root>
  <Project Name="FundsCrossReferences" Label ="SMA Model Management" LibraryName="SMAMC" ClassName="" Roles="">
  </Project>
  <Project Name="SMAFI" Label ="SMAFI" LibraryName="SMAFI" ClassName="" Roles="">    
  </Project> 
 </root>

我的window.xaml.cs文件

private void windowloaded()
        {         
            StringBuilder result = new StringBuilder();
            foreach (XElement level1Element in XElement.Load(@"C:\Users\Trial\XMLFile.xml").Elements("Project"))
            {

                    result.AppendLine(level1Element.Attribute("Name").Value+"/");

            }
             List<string> addnames = new List<string>();
             string[] stringArray = result.ToString().Split('/').ToArray();
            stringArray = stringArray.Take(stringArray.Count() - 1).ToArray();
            foreach (var arrayname in stringArray)
            {
                var names = arrayname.Replace("\r\n", "");
                addnames.Add(names);
            }
            List<string> list = addnames.ToList();
            foreach(var buttoname in list)
            {
                var newButton = new Button() { Name= buttoname,Height=39,Foreground=Brushes.Black,Content=buttoname};
                this.mainpanel.Children.Add(newButton);
            }     
         }

我的Window.xaml: <StackPanel x:Name="mainpanel"></StackPanel>

请帮助我解决按钮的单击事件或在堆栈面板中单击的按钮的名称。

只需在 foreach 循环中连接一个点击事件处理程序:

newButton.Click += Your_Handler;