public voID RefreshListnames(){ Logger.Log("Refresh Mail Lists"); Globals.Ribbons.Ribbon1.rddListnames.Items.Clear(); foreach (keyvaluePair<GuID,string> kvp in _dda.GetMarketingListnames()) { Microsoft.Office.Tools.Ribbon.RibbonDropDownItem dd = Globals.Factory.GetRibbonFactory().CreateRibbonDropDownItem(); dd.Tag = kvp.Key; dd.Label = kvp.Value; Logger.Log("Adding " + dd.Label); Globals.Ribbons.Ribbon1.rddListnames.Items.Add(dd); } Globals.Ribbons.Ribbon1.rddListnames.ResumeLayout();}
注意:rddListnames是RibbonDropDown
此方法在ThisAddIn_Startup方法中调用,并在启动时进行核心填充.但是,任何新的邮件窗口都会以空白下拉列表结束 – 没有项目.即使@R_985_6419@也不会再次添加项目.
我添加了一些日志记录:它显示按下’刷新按钮’时该方法正在运行:
23/04/2013 14:36:43 - Refresh Mail Lists 23/04/2013 14:36:45 - Adding Marketing List - Dynamic 23/04/2013 14:36:45 - Adding Marketing List - Bs 23/04/2013 14:36:45 - Adding Marketing List - As
为什么下拉不断丢失物品?为什么他们不回来,即使我明确刷新它们?
@H_502_26@解决方法 如果对功能区UI进行控制修改,则需要通过IRibbonControl.Invalidate()
或 IRibbonControl.InvalidateControl
使控制缓存无效.这将触发Ribbon元素的重绘. Globals.Ribbons.Ribbon1.InvalIDate();// or...Globals.Ribbons.Ribbon1.InvalIDateControl("ddMarketingList");总结
以上是内存溢出为你收集整理的c# – RibbonDropDown丢失项目全部内容,希望文章能够帮你解决c# – RibbonDropDown丢失项目所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)