我正在以编程方式制作按钮并将其添加到堆栈面板,以便每次用户导航到页面时按钮都会更改。我试图做这样的事情,当我单击创建的按钮时,它将捕获按钮的标签并转到正确的页面。但是,我无法使用RoutedEventHandler访问按钮元素。这是代码:
foreach (item in list)
{
Button newBtn = new Button();
newBtn.Content = "Button Text";
newBtn.Tag = item.Tag;
newBtn.Name = item.Name;
newBtn.Click += new RoutedEventHandler(newBtn_Click);
}
private void newBtn_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/DetailPage.xaml?selectedItem=" + sender.Tag, UriKind.Relative));
}
最佳答案
相当简单,只需将发送方转换为一个Button对象,您将获得所有按钮属性
private void newBtn_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/DetailPage.xaml?selectedItem=" + ((Button)sender).Tag, UriKind.Relative));
}
关于c# - 当事件button.click发生时,如何获取按钮名称/标签?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20530608/