在c#中获取silverlight控件的名称

时间:2012-01-23 16:39:38

标签: c# silverlight controls

我创造了许多银色按钮: -

        string b = "Button";
        for (int i = 0; i < 10; i++)
        {
            Button btn = new Button();
            btn.Name = b+i.ToString();
            btn.FontSize += 2;

            btn.Content = "Click Me " ;
            btn.Click += new RoutedEventHandler(btn_Click);
            stack.Children.Add(btn);
        }
        LayoutRoot.Children.Add(stack);

在按钮点击事件中,我想获取按下的按钮的名称。我曾希望如此 string snd = sender.ToString();将产生信息,但它提供的只是System.Windows.Controls.Button。谁能请帮忙。感谢。

3 个答案:

答案 0 :(得分:7)

您需要将sender投射到按钮上。

public void btn_Click(object sender, EventArgs e)
{
    var btn = (Button)sender;
    Console.WriteLine(btn.Name);
}

答案 1 :(得分:4)

public void btn_Click(object sender, EventArgs e)
{
    var b = sender as Button;

    if (b != null)
    {
        var name = b.Name;
        // do something with name
    }
}

答案 2 :(得分:0)

试试这个:

(sender as Button).Name

source