0

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

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


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

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

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

4

2 回答 2

1

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

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

https://github.com/fabmoll/SimpleTodo

于 2013-01-27T12:59:28.133 回答
1

你为什么要从列表中删除一个项目ToString?这是您要做的:使用,将其绑定到 ListBox,然后在. 绑定纯字符串列表是一个糟糕的坏主意。ObservableCollection<ModelItem>Remove((MenuItem)sender).DataContext

更好的是,采纳 Shawn Kendrot 的建议并以 MVVM 方式做事。当然,现在对您来说可能看起来很复杂,但是通过一些工作很容易将您的头脑包裹起来。我已经能够教育非编程的普通人了。如果你会编码,你应该能够学习如何使用 MVVM 模型。

于 2013-01-28T03:27:32.097 回答