Вы можете сделать наблюдаемую коллекцию как общедоступное свойство в вашем code-behind / Presenter / Viewmodel, например,
public ObservableCollection<MyObject> MyObjectCollection {get;set;}
, тогда вы можете заполнить это, и привязка может быть кодом.
ItemsSource - это свойство зависимости, которое можно связать в XAML или коде, например, предположим, что вы хотите привязать к ListBox (скажем, с именем lstItems) ItemsSource, например (в приведенном ниже коде указано, что MyObjectCollection находится в codebehind
Binding bindingObject = new Binding("MyObjectCollection");
bindingObject.Source = this; //codebehind class instance which has MyObjectCollection
lstItems.SetBinding(ListBox.ItemsSource, bindingObject);
или в XAML,
<ListBox x:Name="lstItems" ItemsSource="{Binding Path=MyObjectCollection}"/>
для обоих вышеперечисленных способов вам нужно установить текст данных, который будет 'this' (для этого конкретного решения).
Но, возможно, выхочу изучить основную привязку данных WPF, где можно понять свойства зависимости, объекты привязки, режимы привязки и т. д.
http://msdn.microsoft.com/en-us/library/aa480224.aspx http://msdn.microsoft.com/en-us/library/ms750612.aspx http://joshsmithonwpf.wordpress.com/2008/05/19/gradual-introduction-to-wpf-data-binding/