我正在以编程方式制作按钮并将它们添加到堆栈面板,以便每次用户导航到页面时按钮都会更改。我正在尝试做这样的事情,当我点击创建的按钮时,它会捕获按钮的标签并转到正确的页面。但是,我无法使用 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));
}
最佳答案
非常简单,只需将发送者转换为按钮对象,您将获得所有按钮属性
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/