2

我正在尋找相當於.NET 4的SetCurrentValue API的SL4,這看起來正是我需要的場景。Silverlight DependencyProperty.SetCurrentValue Equivalent

總之,我正在寫一個附加的行爲,在適當的時候更新給定屬性的值。但是,我不希望它覆蓋在該依賴項屬性上設置的任何綁定。我只是想將該值推送給屬性(因此可以根據該值刷新任何綁定)。

從我可以告訴,有沒有簡單的方法來做到這一點,但在SL4。

謝謝

回答

2

Silverlight不提供直接訪問此級別的依賴項值。然而,它在操縱屬性時設置故事板中的動畫的這種級別的價值。

因此,包含單個DiscreteObjectKeyFrame的長度爲0的故事板可能會實現您的預​​期結果。

+1

只是嘗試這樣做,很驚訝地報告它似乎工作。我很驚訝,因爲它是一個動畫,所以我認爲低優先級會導致問題。如果可以的話,我一定會堅持使用這個解決方案,因爲它的代碼更少。謝謝。 – 2010-07-14 14:50:50

1

我已經設法通過檢測綁定並在源和目標之間注入代理對象來模擬我所追求的內容。然後,我可以操縱代理並使原始綁定的兩側都刷新。

這是醜陋的,比我想要的更多的工作,但它似乎工作。

肯特

+1

你介意分享一個解決方案的例子嗎? – jpierson 2010-12-06 18:37:20

+0

@KentBoogaart你能幫忙嗎?我需要在Silverlight/WPF跨平臺代碼SetCurrentValue http://stackoverflow.com/questions/13181788/wpf-dependency-property-precedence-reference-type-default-values#comment17945942_13181788 – 2012-11-01 20:40:33