WPF: прикрепление некоторых данных к кнопке - PullRequest
2 голосов
/ 18 мая 2011

Проблема:

'Я заполняю ListView с помощью ControlTemplate. В этом шаблоне для каждого элемента будет кнопка, при нажатии которой необходимо выполнить какое-то действие.

Как мне получить доступ к объекту, который сгенерировал ListViewItem, чтобы я мог получить что-то (например, идентификатор).

Ответы [ 2 ]

4 голосов
/ 18 мая 2011

DataContext твой друг.Каждый элемент списка (и кнопка внутри этого элемента, если у вас нет кнопки DataContext переопределения кнопки) будет иметь элемент данных, который использовался для создания элемента в свойстве DataContext.

0 голосов
/ 18 мая 2011

если вы создаете кнопки динамически, вы можете использовать свойство Tag для прикрепления ваших данных или наследовать класс Button как My_Button и установить свойство, которое вам нужно, например, "userId"

иначе попробуйте посмотреть свойство Parent нажатой кнопки.

например:

private void Button_Click(object sender, RoutedEventArgs e)
        {
          Button clickedButton = sender as Button;
          ListViewItem holderItem = clickedButton.Parent as ListViewItem;
          Console.WriteLine("You are clicked the buton in " + holderItem.Name);
        }

или встроенное решение:

private void Button_Click(object sender, RoutedEventArgs e)
            {
              Console.WriteLine("You are clicked the buton in " + ((sender as Button).Parent as ListViewItem).Name);
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...