//File:Window.xaml.cs using System; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Collections.Generic; using System.Diagnostics; using System.Collections; using System.Data; using System.Data.OleDb; using System.ComponentModel; using System.Xml; namespace WpfApplication1 { public class AgeToForegroundConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { Debug.Assert(targetType == typeof(Brush)); int age = int.Parse(value.ToString()); return (age > 60 ? Brushes.Red : Brushes.Black); } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } } public partial class Window1 : Window { XmlDocument doc; public Window1() { InitializeComponent(); doc = new XmlDocument(); doc.LoadXml(@" "); XmlNamespaceManager manager = new XmlNamespaceManager(doc.NameTable); manager.AddNamespace("sb", "http://company.com"); Binding.SetXmlNamespaceManager(stackPanel, manager); Binding b = new Binding(); b.XPath = "/sb:Company/sb:Employee"; b.Source = doc; stackPanel.SetBinding(StackPanel.DataContextProperty, b); this.birthdayButton.Click += birthdayButton_Click; } void birthdayButton_Click(object sender, RoutedEventArgs e) { ICollectionView view = CollectionViewSource.GetDefaultView(stackPanel.DataContext); XmlElement person = (XmlElement)view.CurrentItem; person.SetAttribute("Age",(int.Parse(person.Attributes["Age"].Value) + 1).ToString()); Console.WriteLine(person.Attributes["Name"].Value); Console.WriteLine(person.Attributes["Age"].Value); } }