Наш код отличается тем, что Вы указываете источник биндинга для лэйбла в шаблоне, через Source, а не через ElementName, как я:
<DataTemplate x:Key="dt">
<Label Content="{Binding Data.Name1, Source={StaticResource vm}}" />
</DataTemplate>
Поменял свой код, указываю источник биндинга через RelativeSource (у меня ViewModel не используется, у Вас используется):
<DataTemplate x:Key="template">
<Label Content="{Binding Item.Name1, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" />
</DataTemplate>
Тоже работает.
Теперь вопрос:
Почему для кнопки безразлично как указывается источник биндинга внутри шаблона, через ElementName, Source или RelativeSource
а для UserControl'а работает только Source и RelativeSource?
Я думал, что все три способа задания источника биндинга эквивалентны. Это баг WPF либо есть разумное объяснение (чем принципиально отличается кнопка от моего контрола в этом отношении)?