上下文菜单发件人

时间:2013-01-27 01:32:38

标签: c# visual-studio windows-phone-7 windows-phone-7.1 windows-phone

所以我有一个上下文菜单,当用户点击并保持列表框项目时会出现。我有这个代码来获取被点击的项目的值。

ListBoxItem contextMenuListItem = (ListBoxItem)(myListBox.ItemContainerGenerator.ContainerFromItem(((MenuItem)sender).DataContext));


string item = (contextMenuListItem).Content.ToString();

但变量“item”现在包含被点击的项目的值。我想从项目中获取索引。可能吗?如果是,怎么样?

我正在使用Silverlight工具包中的上下文菜单。

2 个答案:

答案 0 :(得分:1)

对于我的第一个Windows Phone应用程序(去年)我做了类似你的事情,我使用了像Shawn Kendrot一样的MVVM。

我的代码在GitHub上。即使它不是一个特殊的应用程序/代码,也可以随意查看。

https://github.com/fabmoll/SimpleTodo

答案 1 :(得分:1)

您为什么要尝试使用ToString从列表中删除项目?以下是您的操作:使用ObservableCollection< ModelItem >,将其绑定到ListBox,然后使用((MenuItem)sender).DataContext {{1}} 。绑定普通字符串列表是一个糟糕的坏主意。

更好的是,采取Shawn Kendrot的建议并以MVVM的方式做事。当然,你现在似乎似乎很复杂,但是通过一些工作可以很容易地解决这个问题。我已经能够教育单纯的非编程人员;如果你可以编码,你应该能够学习如何使用MVVM模型。