В WPF DataContext - это просто объект, который обеспечивает корневой путь для выражений привязки в XAML.
Так что, когда вы устанавливаете DataContext, возможно, в коде позади, как:
string[] DataArray = new[] { "John", "Peter", "Paul" };`
this.DataContext = DataArray;
Вы можете получить к нему доступ из XAML, например:
<TextBox Text="{Binding Path=Count}" />
Теперь вы получаете доступ к свойству Count в DataArray благодаря свойству DataContext.
Если вам нужен конкретный элемент массива, вы можете указать индекс:
<TextBox Text="{Binding Path=[0]}" />
Если вы хотите использовать массив в качестве источника для элемента, который поддерживает коллекцию:
<ItemsControl ItemsSource="{Binding}" />
Никакие аргументы выражения привязки просто не обращаются к DataContext напрямую, в данном случае к массиву.
Надеюсь, это поможет!