1

アプリで複合アプリケーション ブロックを使用しています。私には非常に似ている EventHandlers と CommandHandlers の 2 つの概念があります...どちらも、UI のある部分の機能を別の部分から呼び出すことができます。それらの違いは何ですか?

4

1 に答える 1

1

都合の問題だと思います。リボンのボタンには次のコマンドを使用します。

Public Sub AddElementToRibbonGroup(WorkItem As WorkItem, elementDescription As String, menuGroupKey As String, commandName As String, commandKey As String)
    WorkItemController.ShellExtensionService.AddButtonToolExtension( _
         WorkItem, _
         commandKey, _
         New ButtonToolAppearance(elementDescription), _
         menuGroupKey, _
         WorkItem.Commands(commandName))
End Sub

ただし、コントローラーでロジックを処理するために、フォームからイベントを発生させます。

sample_View.vb:

    <EventBroker.EventPublication(Constants.Events.CreateNewNavTab, PublicationScope.Global)> _
    Public Event CreateNewNavTab As EventHandler

    ' Node in Navigation Tree is double clicked
    Private Sub NavTree_DoubleClick(sender As System.Object, e As System.EventArgs) Handles NavTree.DoubleClick
...
        RaiseEvent CreateNewNavTab(Me, Nothing)

    End Sub

sample_controller.vb:

' A new tab is created from the Nav Tree.
<EventSubscription(Constants.Events.CreateNewNavTab, ThreadOption.UserInterface)> _
Public Sub CreateNewNavTab(ByVal pNavView As Object, ByVal e As EventArgs)

... 

End Sub

お役に立てれば!

于 2014-03-10T22:21:53.483 に答える