2013-03-08 82 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

默認情況下,上下文菜單在長時間擱置時打開,這是設計。如果你想以任何其他方式打開它,你必須編寫自己的邏輯。有關如何做到這一點的例子,看到這些線程:

但要注意,有些用戶可能會被這個困惑,因爲大多數用戶都會想到的是,上下文菜單會當您點擊並按住列表框項目時會顯示。