我们可以在 Ribbon 输入 VSTO C# 中插入文本吗?

问题描述 投票:0回答:1

我正在使用 C# 开发 VSTO Outlook 加载项,我想将任何文本插入输入字段,我正在使用 XML 创建自定义功能区。这可能吗?这是我在功能区中使用的输入代码:

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
    <ribbon>
        <tabs>
            <tab id='sample_tab' label='Projects'>
                <group id='project_code_group' label='Project Code'>
                        <editBox id='project_code_input' label='Code'/>
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

我有一个正在处理 Outlook 项目更改的函数,函数名为:

CurrentExplorer_SelectionChange
我希望每当此函数调用时(我在项目更改时从该函数获取电子邮件主题),它应该将文本设置到我的功能区输入字段中。

c# xml outlook vsto outlook-addin
1个回答
0
投票

您可以使用回调来更新editBox文本,例如:

<editBox id='project_code_input' label='Code' getText='MyTextFunctionUpdate'/>

在您的ribbon cs文件中添加此功能

public string MyTextFunctionUpdate(IRibbonControl control)
{
       return MyStaticVariable;
}

设置

MyStaticVariable
为触发
CurrentExplorer_SelectionChange
时所需的文本,并使控件失效,使 PowerPoint 通过
ribbon.InvalidateControl("project_code_input")

调用回调

文档链接: https://learn.microsoft.com/en-us/visualstudio/vsto/ribbon-xml?view=vs-2022&tabs=csharp#assign-callback-methods-to-controls

© www.soinside.com 2019 - 2024. All rights reserved.