Вы можете связать так:
<TextBox Text="{Binding ElementName=lbox, Path=SelectedItem[Title].InnerText}" />
SelectedItem является XmlElement .
РЕДАКТИРОВАТЬ: Вот пример кода, как получить доступ к данным XmlDataProvider в коде позади и применить его как DataContent для TextBox.
Измените привязку TextBox.Text следующим образом:
<TextBox x:Name="textBoxMainDetail" Text="{Binding Path=[Title].InnerText}" />
В коде позади получите данные XML из XmlDataProvider и установите DataContext из TextBox:
XmlDataProvider dataProvider = (XmlDataProvider)stackPanel.Resources["InventoryData"];
XmlElement books = (XmlElement)dataProvider.Document.SelectNodes(dataProvider.XPath)[0];
// set DataContext to an item from the child node collection
textBoxMainDetail.DataContext = books.ChildNodes[0];
Обратите внимание, что StackPanel с XmlDataProvider в его словаре ресурсов теперь получил имя. Если этот код должен выполняться во время инициализации приложения (например, в конструкторе Window), для свойства XmlDataProvider.IsAsynchronous
должно быть установлено значение false.
Теперь у вас должна быть возможность изменить DataContext на другой проиндексированный элемент коллекции книг в обработчике нажатий кнопок.