基本上我是动态地将项目添加到列表框中。在每个列表框项目的内部,我还添加了一个按钮控件,该按钮控件将对单击该按钮的项目执行特定操作。
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Title"/>
<Button Click="MyBtn_Click"/>
</StackPanel>
</DataTemplate>
有谁知道如何确定点击按钮的项目?我知道每个列表框项都包含一个索引。我想如果您可以访问按钮的父级,那么您可以确定单击了哪个按钮?
答案 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事件。