C# 以编程方式限制/设置ContextMenu子菜单的高度

C# 以编程方式限制/设置ContextMenu子菜单的高度,c#,wpf,contextmenu,submenu,right-click,C#,Wpf,Contextmenu,Submenu,Right Click,我正在以编程方式在C#WPF应用程序中创建一个任务栏通知图标并右键单击上下文菜单 两个ContextMenu项都有子菜单,这些子菜单是通过webservice调用填充的。其中之一是可以跨越用户屏幕的整个高度,因为它超过100个条目,并且您可以得到溢出箭头。我想能够设置最大高度为500左右 我一直无法想出如何以编程方式限制这些ContextMenu子菜单的大小。下面是我用来创建“目录”子菜单的代码,理论上它可以包含0到1000个条目 可能吗? 非常感谢您的帮助,谢谢 m_menu = new Sy

我正在以编程方式在C#WPF应用程序中创建一个任务栏通知图标并右键单击上下文菜单

两个ContextMenu项都有子菜单,这些子菜单是通过webservice调用填充的。其中之一是可以跨越用户屏幕的整个高度,因为它超过100个条目,并且您可以得到溢出箭头。我想能够设置最大高度为500左右

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

可能吗? 非常感谢您的帮助,谢谢

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++;
}

您需要熟悉控件模板和XAML

看看这个博客-


这应该可以回答您的问题-

如果这是WPF,您不应该使用
System.Windows.Forms
之类的东西。对不起,这是我的第一个项目,我来自JavaScript和Java unix世界。这就是我所发现的,并认为是有效的。我想听听你关于什么是合适使用的建议