1

我有一个列表框,当我长按列表框的特定项目时,会打开一个上下文菜单。但是在列表框中我没有使用列表框的点击或按住事件,所以我的上下文菜单是可见的。

请告诉哪个事件正在触发打开我的上下文菜单;xml代码是:

<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>

请告诉我的上下文菜单是如何打开的,因为我没有使用列表框的点击或按住事件,但是当我长按列表框项目时,上下文菜单会打开?

4

1 回答 1

2

默认情况下,上下文菜单会在长时间保持时打开,这是设计使然。如果您想以其他方式打开它,则必须编写自己的逻辑。有关如何执行此操作的示例,请参阅这些线程:

但请注意,一些用户可能会对此感到困惑,因为大多数用户都希望在您点击并按住列表框项时显示上下文菜单。

于 2013-03-08T07:09:29.103 回答