Binding.Mode 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定一個值,指示綁定中資料流的方向。
public:
property BindingMode Mode { BindingMode get(); void set(BindingMode value); };
BindingMode Mode();
void Mode(BindingMode value);
public BindingMode Mode { get; set; }
var bindingMode = binding.mode;
binding.mode = bindingMode;
Public Property Mode As BindingMode
<Binding Mode="bindingModeMemberName"/>
屬性值
其中一個 BindingMode 的值。 預設為 OneWay:來源會更新目標,但對目標值的變更不會更新來源。
範例
這個範例示範如何在 XAML 中設定綁定模式。
<TextBox x:Name="MyTextBox" Text="Text" Foreground="{Binding Brush1, Mode=OneWay}"/>
備註
對於 單向 與 雙向 綁定,動態變更不會自動傳播到目標,除非提供原始碼的部分支援。 你必須在來源物件上實作 INotifyPropertyChanged 介面,讓原始碼能透過綁定引擎監聽的事件回報變更。 對於 C#,請實作 System.ComponentModel.INotifyPropertyChanged。 對於 C++/WinRT,請實作 Microsoft::UI::Xaml::D ata::INotifyPropertyChanged。
對於 雙向 綁定,目標的變更會自動傳遞到來源,除非綁定目標是 TextBox.Text 屬性。 在這種情況下,更新只會在 文字框 失去焦點時發生。 另外,也可以將 TwoWay 綁定的 UpdateSourceTrigger 設為 Explicit,這時你可以透過呼叫 UpdateSource 來明確控制對原始碼的更新。
對於 OneTime 和 OneWay 綁定,呼叫 SetValue 會自動更改目標值並刪除綁定。
在綁定物件綁定到目標元素和目標屬性後,你無法設定 該物件的 屬性值。 如果你嘗試這樣做,會遇到執行時例外。