首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示ContextMenu

显示ContextMenu
EN

Stack Overflow用户
提问于 2010-12-20 00:07:35
回答 2查看 3.3K关注 0票数 4

尽管找了一段时间,我还是很难找到好的文档。

我希望在我的应用程序中有一个上下文菜单,可以复制其他点击按住上下文菜单的行为,比如将应用程序固定在应用程序列表的开始屏幕上。

这是我的上下文菜单:

代码语言:javascript
复制
                <toolkit:ContextMenuService.ContextMenu>
                    <toolkit:ContextMenu x:Name="sectionContextMenu">
                        <toolkit:MenuItem Header="Hide this section from this list" />
                    </toolkit:ContextMenu>
                </toolkit:ContextMenuService.ContextMenu>

我如何让它显示出来呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-20 00:36:19

上下文菜单需要附加到您希望用户点击并按住的元素。

代码语言:javascript
复制
<Border Margin="0,12" BorderBrush="{StaticResource PhoneForegroundBrush}" BorderThickness="2" Background="Transparent" VerticalAlignment="Center" Padding="16">
   <toolkit:ContextMenuService.ContextMenu>
      <toolkit:ContextMenu x:Name="sectionContextMenu">
         <toolkit:MenuItem Header="Hide this section from this list" />
      </toolkit:ContextMenu>
   </toolkit:ContextMenuService.ContextMenu>
   <TextBlock Text="Tap and hold here to invoke a ContextMenu" Style="{StaticResource PhoneTextNormalStyle}"/>
</Border>

用户现在可以通过轻触并按住此Border元素的内容来调用上下文菜单。

票数 7
EN

Stack Overflow用户

发布于 2012-10-30 21:50:32

根据内容为不同项目提供独特的上下文菜单。

代码语言:javascript
复制
private ContextMenu CreateContextMenu(ListBoxItem lbi)
{
    ContextMenu contextMenu = new ContextMenu();
    ContextMenuService.SetContextMenu(lbi, contextMenu);
    contextMenu.Padding = new Thickness(0);

    string item_1 = "item 1";
    if(lbi.Content is string) {
        item_1 = lbi.Content as string;
    }
    contextMenu.ItemsSource = new List<string> { item_1, "item 2", "item 3" };
    contextMenu.IsOpen = true;
    return contextMenu;
}

private void Results_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if (Results.SelectedIndex == -1) return;
    int index = Results.SelectedIndex;

    ListBoxItem lbi = Results.ItemContainerGenerator.ContainerFromIndex(index) as ListBoxItem;

    CreateContextMenu(lbi);
    Results.SelectedIndex = -1;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4483775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档