2013-05-09 54 views
0

我的申請目前有2類:延遲綁定模型與ObjectProxy

  • MyModel - 包含由視圖
  • MyView所需的所有原始數據 - A組分被加載並顯示模型的數據

MyModel目前直接綁定到MyView,所以當模型發生變化時,它會立即在視圖中更改。

我想要做的是延遲一些的綁定,直到在視圖中發生特定操作爲止。例如,在視圖中播放視頻或聲音時,某些綁定不會更新。

我對這個計劃是創建一個額外的類:

  • MyViewModel - 文摘MyModel,包含該視圖特定數據,因爲它需要由視圖。 MyView可以直接綁定到這個類(而不是綁定到MyModel),並且數據總是正確的。

什麼是抽象的最好方法MyModel我一直在尋找延長ObjectProxy爲此,但我不知道是否有可能延遲綁定。

+0

對於我來說,使用ObjectProxy(或任何類型的代理類)將原始數據模型組織爲演示模型似乎是一種很好的方法。不過,我想知道爲什麼你想延遲綁定執行。這聽起來像你應該使用國家根據某些條件以某種方式呈現視圖。沒有一個更具體的例子,我當然無法確定。 – RIAstar 2013-05-09 12:39:02

+0

@RIAstar:我決定最後使用'Proxy'而不是'ObjectProxy'。原因是,在視圖播放視頻時,綁定應該被凍結,但是我認爲狀態可能很混亂,因爲它將取決於用戶檢查哪些選項會凍結哪些變量。我爲此創建了一個新類「BindableObjectCache」,也許我會在進行一些測試後發佈。 – Drahcir 2013-05-10 13:29:27

回答

0

如果您想在運行時更改/刪除/添加綁定,請嘗試 BindingUtils和ChangeWatcher。

+0

是的,我已經在使用ChangeWatcher了,但我想知道是否有某種方法來凍結綁定。特別是創建可緩存模型綁定的演示模型的最佳實踐。 – Drahcir 2013-05-10 13:32:19