簡體   English   中英

如何打開在 TornadoFX 中打開的多個編輯器視圖

[英]How to open multiple editor views open in TornadoFX

我一直在關注這里的指南,它給出了一個使用 ViewModel 的編輯器示例。

我希望改變這一點,而不是將單個編輯器重新綁定到每個域對象進行編輯,而是每個對象將調出自己單獨的編輯器。

我想繼續使用 ViewModel,因為我喜歡它們提供的分離和它們擁有的 API(輕松回滾/保存)。

我應該如何處理為每個域對象打開一個編輯器(特別是在 TornadoFX 方式中)?

解決方案是為新編輯器創建一個新范圍,並將相關模型插入到該新范圍中。 如果您正在使用工作區,這是使用內置函數完成的,例如dockInNewScope

workspace.dockInNewScope<MyEditor>(myModel1, myModel2, etc)

如果您不使用 Workspace,您可以手動創建一個新范圍,將模型放入其中並在新范圍中查找視圖:

val newScope = Scope(myModel1, myModel2)
find<MyEditor>(newScope).openWindow()

在這個實例中, MyEditor將在它的范圍內看到myModelmyModel2 ,以便它可以注入它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM