Как определить список элементов, из которых была нажата кнопка? - PullRequest
0 голосов
/ 08 октября 2011

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

<DataTemplate>
  <StackPanel>
    <TextBlock Text="{Binding Title"/>
    <Button Click="MyBtn_Click"/>
  </StackPanel>
</DataTemplate>

Кто-нибудь знает, как определить, с какого пункта была нажата кнопка? Я знаю, что каждый элемент списка содержит индекс. Я думаю, что если бы вы могли получить доступ к родителю кнопки, вы могли бы определить, какая кнопка была нажата?

1 Ответ

1 голос
/ 08 октября 2011

Вы можете использовать CommmandParameter кнопки для хранения значения -

<DataTemplate>
  <StackPanel>     
    <TextBlock Text="{Binding Title}"/> 
    <Button Click="MyBtn_Click" CommandParameter={Binding Title}/>   
    </StackPanel> 
</DataTemplate> 

public void MyBtn_Click(object sender, args)
{
    string MyVal = (sender as Button).CommandParameter.ToString();
}

Соглашение состоит в том, чтобы использовать событие Command вместо события click для этого типа вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...