2013-03-08 85 views
1

我有一个列表框,当我长按列表框中的特定项目时,会打开一个上下文菜单。但是在列表框中,我还没有使用过列表框的事件,所以我的上下文菜单是如何显示的。如何在列表框中打开上下文菜单wp7

请告知哪个事件正在打开我的上下文菜单;在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" Click="AddToCalendar_Click" /> 
          <toolkit:MenuItem Header="View Description" Click="ViewDescription_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> 

请告诉我的上下文菜单是如何打开的,因为我没有使用自来水或持有列表框的事件,但我长按列表框项目,上下文菜单打开时?

回答

2

默认情况下,上下文菜单在长时间搁置时打开,这是设计。如果你想以任何其他方式打开它,你必须编写自己的逻辑。有关如何做到这一点的例子,看到这些线程:

但要注意,有些用户可能会被这个困惑,因为大多数用户都会想到的是,上下文菜单会当您点击并按住列表框项目时会显示。