2010-06-14 4 views
2

У меня проблема, у меня есть динамическая кнопка. И я хочу сохранить в ней целочисленное значение.Как я могу сохранить значение в кнопке во время выполнения?

и получить это значение на этом событии нажатия этой кнопки, как я могу достичь его

заранее спасибо Shashank

DataView dv = new DataView(dtCat, "PK_CATEGORY_ID IN(" + categoryIds.ToString() + "0)", "PK_CATEGORY_ID", DataViewRowState.CurrentRows); 

foreach (DataRowView rr in dv) 
{ 
    //MessageBox.Show(rr[0].ToString() + "------------" + rr[1].ToString()); 

    Button b2 = new Button(); 

    //b2.Name = rr[0].ToString(); 
    b2.Name = ""; 
    b2.Height = 200; 
    b2.Width = 200; 
    b2.Margin = new Thickness(0, -100, 0, 0); 
    b2.HorizontalAlignment = HorizontalAlignment.Left; 
    b2.Content = rr[1].ToString(); 
    b2.Background = System.Windows.Media.Brushes.Pink; 
    b2.Click += new RoutedEventHandler(b2_Click); 
    btncanvas.Children.Add(b2); 
    Canvas.SetLeft(b2, b2.Width * i); 
    i = i + 1; 
    MessageBox.Show(rr[0].ToString()); 
    b2.Tag = rr[0].ToString(); 

} 


void b2_Click(object sender, RoutedEventArgs e) 
{ 
    Button clicked = (Button)sender; 

    categoryname = clicked.Name; 
} 

ответ

2

Tag свойства, вероятно, что вы хотите.

Вы уже используете его в вашем примере, но просто:

b2.Tag = integerValue; 

Затем в обработчике щелчка использовать Convert.ToInt32(object) метод, чтобы получить целое значение обратно:

int retrievedValue = Convert.ToInt32(clicked.Tag); 
+0

но его дают ошибку that..Specified cast недействителен. – Shashank

+0

thnks it working – Shashank

+0

@SHASHANK - Я скорректировал код. Я печатал без доступа к Visual Studio;) – ChrisF

Смежные вопросы