Smart Client Software Factory 2008 を使用しています。モジュール コントローラーには、次のようなことを行って、まだ作成されていない場合にのみ新しい子コントローラーを作成するコードがあります。
Dim key = "Item-" + item.ID.ToString()
Dim childWorkItem = Me.WorkItem.WorkItems.Get(Of ControlledWorkItem(Of ItemWorkItemController))(key)
If childWorkItem Is Nothing Then
childWorkItem = Me.WorkItem.WorkItems.AddNew(Of ControlledWorkItem(Of ItemWorkItemController))(key)
Else
childWorkItem.Activate()
End If
複数のアイテムが同じキーを再利用するため、そのアクションがトリガーされると、タブの新しいインスタンスを作成する代わりにタブが表示されます。これはうまくいきます。
ただし、1 つの欠点があります。アクティブ化したら、そのアイテムのプレゼンター内でチェックを実行する必要があります。そのため、プレゼンターでメソッドを呼び出す必要があります。プレゼンターでメソッドを呼び出す方法はありますか、またはワークアイテムがアクティブ化されたときにビューで実行されるイベントはありますか? それを実現する方法がわかりませんか?
ありがとう。