2013-06-11 40 views
0

這是什麼一次性之間的差異綁定:OneTime綁定的代碼與直接設置本地值不同嗎?

//Create the source string 
string s = "Hello"; 

//Create the binding description 
Binding b = new Binding(""); 
b.Mode = BindingMode.OneTime; 
b.Source = s; 

//Attach the binding to the target 
MyText.SetBinding(TextBlock.TextProperty, b); 

這個呢?

MyText.Text = s; 

回答

1

它有很大的區別。通過第二種方法,您可以在代碼中的任何時間點更改您的界限值。但是通過一次綁定,綁定值僅在應用程序開始或數據上下文更改時進行評估。 請參閱OneTime綁定說明here

+0

但是,在字符串綁定的情況下,綁定值是不可變的,所以它發生沒有區別,對吧? – MaxHype

+0

綁定僅在與通知其值發生更改的屬性一起使用時纔有用,因此提供了一種簡便的機制來爲視圖膠凝模型。就你而言,你正在使用一個變量進行綁定。所以,即使你改變了變量的值,它也不會反映到你的視圖元素中,直到你通知它爲止。對於字符串或任何其他類型都是如此。 – gordanvij

+0

好的,我們可以說在我的問題中兩種方法沒有區別嗎? – MaxHype

相關問題