У меня есть код, который создает кнопку для каждого объекта в списке.При создании каждого объекта ему присваивается имя, соответствующее строке и столбцу (т. Е. Name = row1col2).Каждая кнопка генерируется динамически, добавляется в сетку, а затем устанавливается строка / столбец.Позже мне нужно собрать данные «выбранных» кнопок, чтобы я мог выполнять действия с данными, которые они представляют.Когда я пытаюсь получить управляющие данные с кнопок, все в порядке, за исключением данных строки / столбца сетки.Он остается одинаковым для всех выбранных строк и столбцов в сетке.
Создание кнопок:
for (int i = 1; i < row.StackCount+1; i++)
{
//create button for the column
stackButton = new Button();
stackButton.Height = ((newRow.Height - 2));
stackButton.Width = ((newRow.Width / row.StackCount) - 2);
stackButton.Background = new SolidColorBrush(Colors.White);
//add the button border
stackButton.BorderBrush = new SolidColorBrush(Colors.Black);
stackButton.BorderThickness = new Thickness(1);
stackButton.Style = Application.Current.Resources["flatButton"] as Style;
//add the button name
stackButton.Name = "Row" + row.LineNumber + "Col" + (i - 1).ToString();
//add the event handler to the button
stackButton.Click += new RoutedEventHandler(stackButton_Click);
//add a new column
newRow.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(newRow.Width, GridUnitType.Star) });
//put the button into the grid
newRow.Children.Add(stackButton);
Grid.SetRow(stackButton, 0);
Grid.SetColumn(stackButton, i-1);
}
Возвращение данных кнопки обратно
g = (Grid)b.Child;
foreach (Button currentButton in g.Children)
{
if (((SolidColorBrush)currentButton.Background).Color == Colors.Gray)
{
//create a stack object
buttonData.StartDate = DateTime.Now;
buttonData.LotNumber = LotDisplay.Text;
buttonData.RoomID = SilverGlobals.CurrentRoom.RoomID;
buttonData.RoomCol = Grid.GetColumn(currentButton);
buttonData.RoomRow = Grid.GetRow(currentButton);
buttonData.TrayCount = int.Parse(currentButton.Content.ToString());
buttonData.Status = 0;
//add stack object to list of stack objects
stacks.Add(buttonData);
}
}
Я знаю, что это должно быть что-то маленькое, что мне не хватает.У кого-нибудь есть идеи?