我正在使用VSib8使用IRibbonExtensibility构建一个Outlook 2007 Addin。
我的简单功能区显示在MailItem上,并有一个editBox和一个按钮控件。所需的功能是用户在editBox中输入一个数字,然后单击该按钮。然后将电子邮件消息保存到第三方系统中(使用在editBox中输入的数字作为“主键”来控制位置等)
我在访问用户从按钮的回调函数进入editBox的值时遇到了困难。
我有跟随标记
<editBox
id="FileNumber"
maxLength="6"
label="File No"
/>
<button
id="AddEmailTo"
label="Save to"
onAction ="AddEmailToButton_Action"
/>
</group>
</tab>
以下回调
public void AddEmailToButton_Action(Microsoft.Office.Core.IRibbonControl p_Control) {
//what do I need to add here to access the value in the editBox?
}
由于 安德鲁
答案 0 :(得分:3)
您需要使用回调onChange
将值存储在私有变量中在您的班级中,声明一个私有变量来存储编辑框的值。 此变量将允许您获取文本框的值。
private string FileNumberText = "initial value";
要初始化defaut值,请使用getText回调
public string onGetText(IRibbonControl control)
{
switch (control.Id)
{
case "FileNumber":
return FileNumberText ;
case "editBox02":
return "...";
default:
return "";
}
}
记录编辑框的更改(将编辑框值传递给商店变量)
// Recupere le contenu du controle editBox dans la variable Cible
public void RecupDonnee(IRibbonControl control, String Text)
{
switch (control.Id)
{
case "FileNumber":
FileNumberText = Text.Trim() ;
break;
case "editBox02":
Screen2 = Text.Trim() ;
break;
}
}
在功能区XAML中
<editBox
id="FileNumber"
maxLength="6"
label="File No"
getText="onGetText"
onChange="RecupDonnee"
screentip="Tip"
/>