Вам не удалось привязать ItemsSource к фактической коллекции. Во-первых, вам нужно сделать коллекцию и дать ей ключ, по которому ее можно идентифицировать:
<x:Array x:Key="HandyList" Type="{x:Type local:Handy}">
<local:Handy Name="Nokia " Jahr="1999" ID="1" />
<local:Handy Name="HTC m", Jahr="2333" ID="2" />
</x:Array>
Ключом может быть любой понравившийся вам идентификатор.
Затем вам нужно указать ListBox, что нужно искать этот ключ:
<ListBox ItemsSource="{StaticResource HandyList}" Name="lbBinding" />
К сожалению, это не будет отображаться полностью корректно, так как вы получите стандартный ToString () класса Handy, который появляется в ListBox, поэтому вам нужно указать ему, как отображать:
<ListBox ItemsSource="{StaticResource HandyList}"
Name="lbBinding"
DisplayMemberPath="Name" />
Это обеспечит использование свойства Name в качестве источника строки для отображения в ListBox. Вы можете сделать более сложный рендеринг, предоставив пользовательский шаблон данных, если он вам нужен.
Конечно, существует немного реальных приложений, в которых вы определяете свой ItemsSource в XAML. Более нормально связывать со свойством DataContext представления. Самый простой способ сделать это - добавить свойство к самому представлению в его коде:
public List<Handy> HandyList { get; set; }
Затем установите представление как его собственный DataContext в своем конструкторе после вызова InitializeComponent ():
DataContext = this;
Затем вы можете привязать ItemsSource в XAML к {Binding Path = HandyList}. Не забудьте составить список и заполнить его, конечно ...