Загрузка изображений в список через диалоговое окно. Проблема с привязкой - PullRequest
0 голосов
/ 03 декабря 2011

Я должен загрузить изображения в listbox. У меня проблема при выборе изображений, в listbox добавлена ​​только граница без ничего и только с одним, я отладил свой код и в коллекции 6 растровых изображений, но загрузил только 1 рамку.1. Это мой класс Альбом:

  public class Album : INotifyPropertyChanged
    {
        private string name;
        public string Name 
        {
            get { return name; }
            set 
            { 
                name = value;
                OnPropertyChanged(new PropertyChangedEventArgs("Name"));
            }
        }
        private string description;
        public string Description 
        { 
            get
            {
                return description;
            }
            set 
            {
                description = value;
                OnPropertyChanged(new PropertyChangedEventArgs("Description"));
            } 
        }
        private List<BitmapImage> images;
        public List<BitmapImage> Images
        {
            get
            {
                return images;
            }
            set
            {
                images = value;
                OnPropertyChanged(new PropertyChangedEventArgs("Images"));
            }
        }
        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged(PropertyChangedEventArgs e)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, e);
        }
        public Album() { }
        public Album(string name, string description, List<BitmapImage> files)
        {
            Name = name;
            Description = description;
            Images = files;
        }
    }

2. Это мой код для дочернего окна. Когда я нажимаю кнопку «Создать», я пишу имя, описание и добавляю несколько фотографий (пожалуйста, проверьте мой метод, чтобы добавить этовсе правильно)Я сделал неправильно? Или дайте свою рекламу.

1 Ответ

0 голосов
/ 03 декабря 2011

Я создал новый класс примерно так

public class ImageInformation:INotifyPropertyChanged
{
    public string Name { get; set; }
    public BitmapImage ImageInfo { get; set; }

    public event PropertyChangedEventHandler PropertyChanged;
    public void OnPropertyChanged(PropertyChangedEventArgs e)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, e);
    }
}

Я заменил все места, где вы используете BitmapImage и в mainpage.xaml

<ListBox x:Name="lsPhoto" Grid.RowSpan="2">
        <ListBox.ItemTemplate>
            <DataTemplate>

                <StackPanel Height="25" Width="25">

                    <Image Height="25" Width="25" Source="{Binding ImageInfo}"></Image>

                </StackPanel>

            </DataTemplate>

        </ListBox.ItemTemplate>
    </ListBox>

С этими двумя изменениями и другими затронутыми изменениями в моем списке отображается изображение, выбранное пользователем. Если вам нужно решение, которое я попробовал, отправьте мне письмо.

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