2014-03-14 14 views
0

我有一個畫布,其寬度爲&高度是數據綁定的,例如,寬度:
Width="{Binding DrawingSize.Width, NotifyOnTargetUpdated=True}"
當我將代碼中的Canvas寬度設置爲另一個值時,綁定會丟失。
有人可以解釋爲什麼這是或MSDN解釋它?如何禁止/更改然後重置綁定?

回答

1

MSDN解釋了這個在Dependency Property Value Precedence

動態資源和綁定有他們在那裏 集的優先級,但價值被推遲。這樣做的一個後果是,如果您設置了動態資源或綁定到本地值,則對本地值的任何更改都會完全替代動態資源或綁定。

您可以使用SetCurrentValue更改當前值而不會覆蓋任何內容。但是,即使這種方法有有效的用法,我個人也不會推薦它。您很可能會遇到其他問題,例如「誰設置了這個值,這不是我所期望的」,或者「綁定變化得太早,我失去了當前的價值」。考慮使用相同MSDN頁面中描述的強制機制。

相關問題