我正在开发一个WP7应用程序并且有一个带有生成按钮的列表框,这些按钮都应该导致特定的某个地方。我无法弄清楚如何知道在运行时推送了哪个按钮。该列表是从一组对象生成的,每个对象中都有一些属性。其中一个属性包含一个我需要知道的值,以便能够知道将用户发送到何处。
所以我想要的过程是用户点击列表框中的项目,将生成按钮的对象中的属性值传递给点击处理程序,该处理程序将用户发送到正确的位置。
有什么建议吗?
答案 0 :(得分:3)
我假设您的ListBox包含一个ItemTemplate,它为绑定到列表的每个项构造一个Button?如果是这种情况,在Click事件处理程序中,您需要检查单击按钮的DataContext:
private void Button_Click(object sender, RoutedEventArgs e)
{
Button btn = sender as Button;
var myObject = btn.DataContext;
}
顺便说一句,如果您使用它进行导航,ListBox将无法为您提供非常好的性能。有关替代方案,请参阅以下博文:
答案 1 :(得分:1)
检查sender
事件处理程序的OnClick
属性是否有点击处理。
或者,您可能希望处理ListBox的SelectionChanged事件,然后查询SelectedItem的内容。