Listen to DataContent changed event
<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="100" Width="200"> <StackPanel> <TextBox x:Name="tbxUserText" Text="Enter some text..."/> <Button Click="Button_Click" Content="Update DataContext"/> </StackPanel> </Window> //File:Window.xaml.vb Imports System.Windows Imports System Namespace WpfApplication1 Public Partial Class Window1 Inherits Window Public Sub New() InitializeComponent() DataContextProperty.OverrideMetadata(GetType(Window1), New FrameworkPropertyMetadata(100.0, New PropertyChangedCallback(AddressOf DataContext_PropertyChanged))) End Sub Private Shared Sub DataContext_PropertyChanged(d As DependencyObject, e As DependencyPropertyChangedEventArgs) Dim msg As String = String.Format("DataContext changed.{0}{0}Old Value: {1}{0}New Value: {2}", Environment.NewLine, e.OldValue.ToString(), e.NewValue.ToString()) MessageBox.Show(msg, "changed") End Sub Private Sub Button_Click(sender As Object, e As RoutedEventArgs) DataContext = tbxUserText.Text End Sub End Class End Namespace
1. | DataContextProperty.OverrideMetadata to update DataContext |