上下文菜单发送器

本文关键字:菜单 上下文 | 更新日期: 2023-09-27 17:56:05

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

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

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

但是变量"item"现在包含点击的项目的值。我想从项目中获取索引。可能吗?如果是,如何?

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

上下文菜单发送器

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

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

https://github.com/fabmoll/SimpleTodo

为什么要尝试从带有 ToString 的列表中删除项目?以下是您的操作:使用ObservableCollection< ModelItem >,将其绑定到 ListBox,并在((MenuItem)sender).DataContext上使用Remove。绑定纯字符串列表是一个坏主意。

更好的是,接受Shawn Kendrot的建议,以MVVM的方式做事。当然,现在对你来说可能看起来很复杂,但很容易通过一点点工作来绕开你的头脑。我已经能够教育那些不会编程的凡人;如果你会编码,你应该能够学习如何使用 MVVM 模型。