0
 i have a listbox that shows schedule name,date,time and when i long press the particular item of listbox then it opens a context menu in which i have two items that is add to calendar and view description,so i want that wen i click view description then it will open a popup and display the description of the selected item in a list box.

所以请告诉我如何获取上下文菜单的选定索引???我在 xaml 中的代码是:

 <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <ListBox x:Name="scheduleListbox" ItemsSource="{Binding scheduleList}" Tap="scheduleListbox_Tap" >
                <ListBox.ItemTemplate>
                    <DataTemplate>
                       <StackPanel Orientation="Vertical" Height="150" Width="460">
                            <toolkit:ContextMenuService.ContextMenu>
                                <toolkit:ContextMenu>
                                    <toolkit:MenuItem Header="Add To Calendar"/>
                                    <toolkit:MenuItem Header="View Description" Click="MenuItem_Click"/>
                                </toolkit:ContextMenu>
                            </toolkit:ContextMenuService.ContextMenu>
                            <TextBlock x:Name="textBlock1" Text="{Binding ScheduleName}" Foreground="WhiteSmoke" FontSize="32"/>
                            <TextBlock x:Name="textBlock2" Text="{Binding ScheduleDate}" Foreground="Red" Margin="0,10,0,0"/>
                            <StackPanel Orientation="Horizontal" Height="70" Width="460">
                                <TextBlock x:Name="textBlock3" Text="{Binding StartTime}" Margin="0,5,0,0"/>
                                <TextBlock x:Name="textBlock4" Text="{Binding EndTime}" Margin="50,5,0,0"/>
                            </StackPanel>
                        </StackPanel>

                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </Grid>
    </Grid>

所以请告诉我如何在上下文菜单中获取选定的索引,当我单击特定项目的查看描述时,它会打开一个弹出窗口,并且该特定项目的计划名称和描述可见

4

1 回答 1

0

在上下文菜单项的单击处理程序中,您可以使用它来获取单击的项:(将 ScheduleItem 替换为您的列表项类名称)

ListBoxItem contextMenuListItem = (ListBoxItem)(scheduleListbox.ItemContainerGenerator.ContainerFromItem(((MenuItem)sender).DataContext));
ScheduleItem item = (ScheduleItem)contextMenuListItem.Content;
于 2013-03-06T20:44:18.980 回答