如何确定按下按钮的listboxitem?

时间:2011-10-08 15:59:43

标签: c# silverlight xaml listbox

基本上我是动态地将项目添加到列表框中。在每个列表框项目的内部,我还添加了一个按钮控件,该按钮控件将对单击该按钮的项目执行特定操作。

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

有谁知道如何确定点击按钮的项目?我知道每个列表框项都包含一个索引。我想如果您可以访问按钮的父级,那么您可以确定单击了哪个按钮?

1 个答案:

答案 0 :(得分:1)

您可以使用按钮的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事件。