В файле manifest.xml
у вас должны быть разные ExtensionPoint
для составления и чтения, как следует ...
<ExtensionPoint xsi:type="MessageReadCommandSurface">
</ExtensionPoint>
<ExtensionPoint xsi:type="MessageComposeCommandSurface">
</ExtensionPoint>
Каждый из этих разделов должен иметь тег Action
с ExecuteFunction
или ShowTaskpane
тип.Если у вас есть тип ExecuteFunction
, вы просто указываете различные имена функций для чтения и компоновки поверхности следующим образом ...
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<Action xsi:type="ExecuteFunction">
<FunctionName>FunctionSpecificToReadView</FunctionName>
</Action>
</ExtensionPoint>
<ExtensionPoint xsi:type="MessageComposeCommandSurface">
<Action xsi:type="ExecuteFunction">
<FunctionName>FunctionSpecificToComposeView</FunctionName>
</Action>
</ExtensionPoint>
Если вы используете тип ShowTaskpane
, вы бы использовали разные имена файлов для загрузки внутри фрейма.или добавьте какой-либо параметр, если вы используете тот же файл, как указано ниже ...
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="readTaskPaneUrl" />
</Action>
</ExtensionPoint>
<ExtensionPoint xsi:type="MessageComposeCommandSurface">
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="composeTaskPaneUrl" />
</Action>
</ExtensionPoint>
...
<Resources>
<bt:Urls>
<bt:Url id="readTaskPaneUrl" DefaultValue="https://localhost:44300/read.html"/>
<bt:Url id="composeTaskPaneUrl" DefaultValue="https://localhost:44300/compose.html"/>
</bt:Urls>
</Resources>
Внутри каждой HTML-страницы вы знаете, на какую поверхность была вызвана ваша надстройка.