Поскольку данные, которые должны отображаться в ItemsControl в UserControl, не должны предоставляться из унаследованного DataContext (например, модель представления Window), а вместо этого извлекаются изнутри логикой кода элемента управления, вы можете напрямую установить свойство ItemsSource в коде. позади.
Наиболее просто, назначив x:Name
ItemsControl
<ItemsControl x:Name="itemsControl">
и затем доступ к сгенерированному полю в коде после вызова InitializeComponent:
itemsControl.ItemsSource = new List<product>()
{
new product{ name = "chips" },
new product{ name = "pipsi" },
};
Как примечание, вы ни при каких обстоятельствах не должны устанавливать DataContext UserControl на себя. В случае, если вы позже добавите привязываемые свойства к элементу управления, установка DataContext таким образом нарушит любые привязки его свойств к свойствам объекта модели представления в унаследованном DataContext, например, что-то вроде
<_pages:Food MyProperty="{Binding SomeViewModelProperty}"/>
не будет работать должным образом.