리본 XML 및 VS 2010을 사용하여 Outlook 2010에 사용자 정의 단추 컨트롤을 작성하지만 버튼 상태를 새로 고치는 데 문제가 있습니다.Inspector가 다시 "활성화 됨"이 아니면 ribbon.InvalidateControl()이 작동하지 않습니다.
idMso = "TabReadMessage"(Reading email window/inspector)에 2 개의 버튼을 만들었습니다. 버튼에 대한
리본 XML 코드 :
<tab idMso="TabReadMessage">
<group id="MyGroup" label="My Label">
<splitButton id="MySplitButton" keytip="QS" size="large">
<button id="SplitButton1" onAction="SplitButton1_Click" label="SplitButton 1" />
<menu id="SplitButton_mnu" keytip="QS">
<button id="Button1" onAction="Button1_Click" label="Button 1" />
<button id="Button2" onAction="Button2_Click" label="Button 2"/>
</menu>
</splitButton>
<toggleButton id="MyToggleButton" onAction="MyToggleButton_Click" size="large" label="Toggle Button" getEnabled="GetEnabledToggleButton" />
</group>
</tab>
분할 버튼을 클릭 콜백 :
Public Sub SplitButton1_Click(ByVal control As IRibbonControl)
ribbon.InvalidateControl("MyToggleButton")
End Sub
토글 버튼 getEnabled 콜백 이벤트 :
Public Function GetEnabledToggleButton(ByVal control As IRibbonControl) As Boolean
Return False
End Function
내가 달성하고자하는 것입니다 SplitButton을 클릭하면 ToggleButton이 비활성화되고 ribbon.InvalidateContro가 사용됩니다. l ("MyToggleButton")을 사용하여 컨트롤을 무효화하면 ToggleButton에 대한 getEnabled 콜백 이벤트가 발생하지만 그렇지 않습니다. 그러나 검사기 창을 클릭하고 검사기 창을 다시 클릭하면 상태가 변경되고 작동합니다. InvalidateControl()이 컨트롤의 상태를 즉시 변경한다고 생각 했습니까?
감사합니다.