У меня есть список сеток и 2 кнопки в каждой сетке. Одна из этих кнопок - кнопка удаления, поэтому мне нужно отправить Coletor
в мое событие click, чтобы изменить его атрибут. Как я могу передать мой Coletor
на мой клик?Как изменить атрибут в событии клика?
Мой метод, который создает сетки:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
if (NavigationContext.QueryString["email"] != null)
{
email = NavigationContext.QueryString["email"];
}
List<Grid> listaGrids = new List<Grid>();
int i = 0;
AppDataContext db = new AppDataContext();
Pessoa pessoa = db.Pessoas.Single(c => c.Email == email);
foreach (Coletor coletor in pessoa.Coletores)
{
if (coletor.Ativado == true)
{
Grid aux = new Grid();
ColumnDefinition c1 = new ColumnDefinition();
ColumnDefinition c2 = new ColumnDefinition();
ColumnDefinition c3 = new ColumnDefinition();
aux.Width = 440;
aux.Height = 80;
aux.VerticalAlignment = VerticalAlignment.Center;
c1.Width = new System.Windows.GridLength(220);
c2.Width = new System.Windows.GridLength(80);
c3.Width = new System.Windows.GridLength(80);
coletorAux = coletor;
aux.ColumnDefinitions.Add(c1);
aux.ColumnDefinitions.Add(c2);
aux.ColumnDefinitions.Add(c3);
RowDefinition r1 = new RowDefinition();
aux.RowDefinitions.Add(r1);
HyperlinkButton aux2 = new HyperlinkButton();
aux2.Content = coletor.Nome;
aux2.FontSize = 42;
aux2.NavigateUri = new Uri("/OcorrenciasPage.xaml?coletorId=" + coletor.Id.ToString(), UriKind.RelativeOrAbsolute);
i++;
Button btnEdit = new Button();
var brush = new ImageBrush();
brush.ImageSource = new System.Windows.Media.Imaging.BitmapImage(new Uri("/icons/edit.png", UriKind.RelativeOrAbsolute));
btnEdit.Background = brush;
btnEdit.Width = 80;
btnEdit.Height = 80;
btnEdit.Click += btnEdit_Click;
Button btnDelete = new Button();
ImageBrush brush2 = new ImageBrush();
brush2.ImageSource = new System.Windows.Media.Imaging.BitmapImage(new Uri("/icons/delete.png", UriKind.RelativeOrAbsolute));
btnDelete.Background = brush2;
btnDelete.Width = 80;
btnDelete.Height = 80;
btnDelete.Click += btnDelete_Clickrr;
Grid.SetColumn(aux2, 0);
Grid.SetColumn(btnEdit, 1);
Grid.SetColumn(btnDelete, 2);
Grid.SetRow(aux2, 0);
Grid.SetRow(btnEdit, 0);
Grid.SetRow(btnDelete, 0);
aux.Children.Add(aux2);
aux.Children.Add(btnEdit);
aux.Children.Add(btnDelete);
listaGrids.Add(aux);
}
}
ListBox coletores = new ListBox();
coletores.ItemsSource = listaGrids;
stcList.Children.Add(coletores);
base.OnNavigatedTo(e);
}
И мой щелчок событие:
void btnDelete_Click(object sender, RoutedEventArgs e)
{
if (MessageBox.Show("Deseja realmente excluir esse coletor?", "Confirmação", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
}
}
Ваш вопрос очень трудно понять. Я предполагаю, что вы хотите удалить выбранный элемент в (список? Grid? Anything else?) И удалить его, поэтому вам не нужно ничего пропускать к вашей кнопке, проверьте, какой элемент выбран. – Gusman