Привязать коллекцию к ListBox в WPF - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть основная проблема с WPF, я попытался установить DataContext, привязку к коллекции, и все равно не могу заставить ее работать.Я искал способ долго для такой основной проблемы ... Я, должно быть, упускаю что-то очень простое.Я ценю любую помощь

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019
  1. MyPhotos должны быть Свойством {get;набор} функций, НЕ a Поле

    public ObservableCollection<Photo> MyPhotos { get; set; }

  2. Код позади:

    DataContext = this

    НЕ listBox.DataContext = MyPhotos

  3. XAML: добавьте DisplayMemberPath для отображения данных

    DisplayMemberPath = "Source"

0 голосов
/ 14 февраля 2019

Вы должны ссылаться на DataTemplate как ItemTemplate в вашем ListBox.Определите Key в вашем DataTemplate.

<Window.Resources>
      <DataTemplate x:Key="MyItemTemplate" DataType="{x:Type local:Photo}">
        <Border Margin="3">
          <Image Source="{Binding Source}"/>
        </Border>
      </DataTemplate>
    </Window.Resources>

    <ListBox Name="listBox" ItemsSource="{Binding MyPhotos}" Background="Silver" Width="600" Margin="10" SelectedIndex="0" ItemTemplate="{StaticResource MyItemTemplate}"/>

ОБНОВЛЕНИЕ

Измените свой DataContext на this.

listBox.DataContext = this;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...