ฉันใช้ 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
หลายรายการใช้คีย์เดียวกันซ้ำ ดังนั้นเมื่อมีการทริกเกอร์การกระทำนั้น จะแสดงแท็บแทนการสร้างอินสแตนซ์ใหม่ มันใช้งานได้ดี
อย่างไรก็ตามมีข้อเสียเปรียบประการหนึ่ง เมื่อเปิดใช้งานแล้ว ฉันจะต้องตรวจสอบภายในผู้นำเสนอของรายการนั้น เลยต้องเรียกเมธอดใส่ผู้นำเสนอ มีวิธีการเรียกใช้เมธอดบนผู้นำเสนอ หรือมีเหตุการณ์ที่ทำงานบนมุมมองเมื่อรายการงานถูกเปิดใช้งานหรือไม่? ฉันไม่แน่ใจว่าจะทำให้มันเกิดขึ้นได้อย่างไร?
ขอบคุณ.