DataContextProperty.OverrideMetadata to update DataContext : DataContent « Windows Presentation Foundation « VB.Net Tutorial






<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
WPF Data Context Property Override Metadata To Update Data Context








16.96.DataContent
16.96.1.Listen to DataContent changed eventListen to DataContent changed event
16.96.2.DataContextProperty.OverrideMetadata to update DataContextDataContextProperty.OverrideMetadata to update DataContext