WPF VB.Net Tutorial

  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:local="clr-namespace:WpfApplication1"
  Title="XmlBinding" Height="325" Width="400">
  
    
  

  
    
      
        
      

      
        
          
            
            (age: )
          

        

      

    
    Name:
    
    Age:
    
    Birthday
  

//File:Window.xaml.vb
Imports System
Imports System.Text
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Windows.Shapes
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Collections
Imports System.Data
Imports System.Data.OleDb
Imports System.ComponentModel
Imports System.Xml
Namespace WpfApplication1
  Public Class AgeToForegroundConverter
    Implements IValueConverter
    Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert
      Debug.Assert(targetType Is GetType(Brush))
      Dim age As Integer = Integer.Parse(value.ToString())
      Return (If(age > 60, Brushes.Red, Brushes.Black))
    End Function
    Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
      Throw New NotImplementedException()
    End Function
  End Class
  Public Partial Class Window1
    Inherits Window
    Private doc As XmlDocument
    Public Sub New()
      InitializeComponent()
      doc = New XmlDocument()
      doc.LoadXml("" & vbCr & vbLf & "  " & vbCr & vbLf & "  " & vbCr & vbLf & "  " & vbCr & vbLf & "")
      Dim manager As New XmlNamespaceManager(doc.NameTable)
      manager.AddNamespace("sb", "http://company.com")
      Binding.SetXmlNamespaceManager(stackPanel, manager)
      Dim b As New Binding()
      b.XPath = "/sb:Company/sb:Employee"
      b.Source = doc
      stackPanel.SetBinding(StackPanel.DataContextProperty, b)
      AddHandler Me.birthdayButton.Click, AddressOf birthdayButton_Click
    End Sub
    Private Sub birthdayButton_Click(sender As Object, e As RoutedEventArgs)
      Dim view As ICollectionView = CollectionViewSource.GetDefaultView(stackPanel.DataContext)
      Dim person As XmlElement = DirectCast(view.CurrentItem, XmlElement)
      person.SetAttribute("Age", (Integer.Parse(person.Attributes("Age").Value) + 1).ToString())
      Console.WriteLine(person.Attributes("Name").Value)
      Console.WriteLine(person.Attributes("Age").Value)
    End Sub
  End Class
End Namespace