Я считаю, что проблема связана с привязкой, а не с выбором шаблона.
Если вы посмотрите документацию для Binding.XPath
, вы увидите, что когда источником привязки являются данные XML (т.е. XmlDocument
или XmlNode
), используется свойство XPath
, а не Path
свойство, чтобы найти свойство в источнике данных.
Я подозреваю, что здесь происходит то, что Binding
не возвращает XmlDocument
. Привязка видит, что исходный объект является XmlDocument
, и вызывает для него SelectNodes
, передавая значение свойства XPath
в качестве аргумента. Это ноль (или, возможно, пустая строка), и поэтому SelectNodes
ничего не возвращает.