【问题标题】:Programmatically Limiting/setting the height of a ContextMenu Sub-menu以编程方式限制/设置 ContextMenu 子菜单的高度
【发布时间】:2014-05-07 01:29:47
【问题描述】:

我在 C# WPF 应用程序中以编程方式创建任务栏通知图标和右键单击 ContextMenu。

一些 ContextMenu 项目具有从 web 服务调用填充的子菜单。其中之一是可以跨越用户屏幕的整个高度,因为它有超过 100 个条目,并且您会看到溢出箭头。我希望能够将最大高度设置为 500。

我一直无法弄清楚如何以编程方式限制这些 ContextMenu 子菜单的大小。下面是我用来创建“目录”子菜单的代码,理论上它可以包含 0 到 1,000 个条目。

有可能吗? 任何帮助表示赞赏,谢谢。

m_menu = new System.Windows.Forms.ContextMenu();

System.Windows.Forms.MenuItem newMenuItem4 = new System.Windows.Forms.MenuItem("Directory");
System.Windows.Forms.MenuItem newExistMenuItem4 = (System.Windows.Forms.MenuItem)this.m_menu.MenuItems[0]; 

if (numbers.Count > 0) 
{
    int indx = 0;
    foreach (string number in getContactDirectory() )
    {
       newMenuItem4.MenuItems.Add(indx,
       new System.Windows.Forms.MenuItem(number, new System.EventHandler(historyCall)));
       indx++;
    }
    m_menu.MenuItems.Add(menuCounter, newMenuItem4); 
    menuCounter++;
}

【问题讨论】:

  • 如果这是 WPF,你不应该使用 System.Windows.Forms 的东西。
  • 对不起,这是我的第一个项目,我来自 JavaScript 和 Java unix 世界。这就是我发现并想出的工作。我想听听您对正确使用的建议。

标签: c# wpf contextmenu submenu right-click


【解决方案1】:

您需要熟悉 Control 模板和 XAML。

看看博客 - http://xcalibur37.wordpress.com/2013/05/09/an-enhanced-menuitem-to-limit-submenu-height/

这应该回答你的问题 - Best way to set a MenuItem's sub-menu height?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    • 2012-11-26
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多