c# - C# VSTO AddIn 查找字段功能区
问题描述
我尝试使用自定义 XML 条目/值创建一个列表框,该列表框在用户在编辑框中输入文本后出现。开发者环境是 C# Outlook 13/16 VSTO 插件。我的问题是,我只能使用功能区控件访问编辑框或组合框。
使用组合框,我可以添加我的自定义 XML 条目,例如:
foreach (XmlNode node in source.DocumentElement.SelectNodes("/path/item/value"))
{
RibbonDropDownItem item = Globals.Factory.GetRibbonFactory().CreateRibbonDropDownItem();
string text = node.InnerText;
item.Label = text;
this.comboBoxCompose.Items.Add(item);
//System.Diagnostics.Debug.WriteLine(text);
}
例如,editBox 不提供添加项目...组合框对我来说是错误的选择,因为它是一个下拉选择。
有没有办法实现一个带有自定义结果的列表框,如随附的图片中所示。我必须将它与其他 API/库结合起来吗?
如果有人可以在这里提供帮助,那就太好了。
解决方案
不,没有办法。Fluent UI 提供了一组明确的控件。
您可以在以下系列文章中阅读有关 Fluent UI(又名 Ribbon UI)的更多信息:
- 为开发人员自定义 2007 Office Fluent 功能区(第 1 部分,共 3 部分)
- 为开发人员定制 2007 Office Fluent 功能区(第 2 部分,共 3 部分)
- 为开发人员定制 2007 Office Fluent 功能区(第 3 部分,共 3 部分)
作为一种解决方法,您可以考虑在 Outlook 表单区域而不是功能区上创建自定义 UI,您可以在其中自由使用任何 .Net 控件。有关详细信息,请参阅创建 Outlook 窗体区域。
推荐阅读
- javascript - 将 Recaptcha 与表单上的现有 onsubmit 处理程序一起使用
- oracle - 对于其他用户,如何隐藏表的 Oracle 对象所有者
- python - NumPy:将 1D 数组连接到 3D 数组
- excel - 索引匹配功能不适用于查找数组中的查找值
- json - 从 postgres 中的 json 列中通过多个键和值查找行
- php - 如果不是特定用户,则重定向用户
- ajax - OnDelete Handler 总是触发一个错误的请求
- swift - 使用 JSONDecoder 解码数字 snake_case 键
- python - img2pdf:一页pdf,一张图片?
- iis - DebugDiag Analysis 生成报告的时间过长