BindingExpression.UpdateSource Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Sends the current binding target value to the binding source property in TwoWay bindings.
Namespace: System.Windows.Data
Assembly: System.Windows (in System.Windows.dll)
Syntax
Public Sub UpdateSource
public void UpdateSource()
Exceptions
Exception | Condition |
---|---|
InvalidOperationException | The BindingExpression is detached from the binding target. |
Remarks
You can use this method to control when the data source is updated. This is useful, for example, to validate several controls together before you update their data sources.
Examples
The following code example demonstrates how to use this method.
<TextBox x:Name="textBox1" Text="{Binding Test, Mode=TwoWay, UpdateSourceTrigger=Explicit}" />
<Button Content="Update" Click="Button_Click" />
Public Class TestData
Private testValue As String
Public Property Test() As String
Get
Return testValue
End Get
Set(ByVal value As String)
testValue = value
End Set
End Property
End Class
Private data As TestData
Public Sub New()
InitializeComponent()
data = New TestData
With data
.Test = "one"
End With
textBox1.DataContext = data
End Sub
Private Sub Button_Click(ByVal sender As Object, _
ByVal e As RoutedEventArgs)
Dim expression As BindingExpression = _
textBox1.GetBindingExpression(TextBox.TextProperty)
MessageBox.Show("Before UpdateSource, Test = " & data.Test)
expression.UpdateSource()
MessageBox.Show("After UpdateSource, Test = " & data.Test)
End Sub
public class TestData
{
public String Test { get; set; }
}
TestData data;
public MainPage()
{
InitializeComponent();
data = new TestData { Test = "one" };
textBox1.DataContext = data;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
BindingExpression expression = textBox1.GetBindingExpression(TextBox.TextProperty);
MessageBox.Show("Before UpdateSource, Test = " + data.Test);
expression.UpdateSource();
MessageBox.Show("After UpdateSource, Test = " + data.Test);
}
Version Information
Windows Phone OS
Supported in: 8.1, 8.0, 7.1, 7.0
Platforms
Windows Phone
See Also
Reference
FrameworkElement..::.GetBindingExpression