Ответы пользователя по тегу WPF
  • Как сделать такой элемент через разметку?

    hePPer
    @hePPer
    если грубо - то там в гриде 3 котнтрола, текстбокс, текстблок и кнопка.
    видимый текстбокс и кнопка. при нажатии кнопки, бокс прячется и выводится блок.
    все красиво стилизовано.
    Ответ написан
  • Как отредактировать элемент списка в WPF?

    hePPer
    @hePPer
    Есть два варианта, первый, это редактирование SelectedFilm напрямую (мне кажется оптимальный вариант - вы его изменяете, кнопкой Сохранить применяете изменения),
    и второй связать SelectedFilm и EditFilm.
    Если SelectedFilm и EditFilm у вас определено во вьюмодели, то нужно добавить перенос ссылки SelectedFilm в EditFilm и обратно, после изменения. Например, изменился выбранный элемент, вьюмодель копирует ссылку на него в EditFilm. Жмете кнопку сохранить, данные из EditFilm копируются в выбранный элемент, а EditFilm обнуляется.
    Ответ написан
    3 комментария
  • Как заставить обновляться ListBox с помощью INotifyPropertyChanged?

    hePPer
    @hePPer
    у вас неверная стратегия обновления данных.
    Листбокс подписывается на событие не INotifyPropertyChanged, а на INotifyCollectionChanged.
    Затем - вначале вы создали ListCode, на который забиндился listbox - все у вас хорошо.
    Но, тут вы вызвали метод GetList(), после чего из ListCode пропала ссылка на старый ObservableCollection, и появилась на новый, который уже не связан с listbox. Поэтому в списке вы видите что данные обновились, но т.к. лисбокс остался привязан к старой коллекции, то обновлений он не увидел.

    поидее чтобы заработало можно сделать так, хотя будет не оптимально если данных много

    public void GetList()
    {
    var listFromDB= (берется из базы)

    ListCode.Clear();
    foreach(var item in listFromDB)
    ListCode.Add(item);
    }
    Ответ написан
    Комментировать
  • Как правильно реализовать сброс настроек до первоначальных?

    hePPer
    @hePPer
    если при создании настроек использованы стандартные возможности студии, - то настройки будут храниться в 2х местах - рядом с программой, которые доступны только для чтения, они же дефолтные, и измененные, они хранятся в папке пользователя.
    для возврата к первоначальным, вам надо просто сбросить настройки и сохранить их. для этого, если не изменяет память в классе Settings есть специальный метод.
    Ответ написан
    Комментировать
  • Как свойству ObservableCollection указать, что элемент был изменен?

    hePPer
    @hePPer
    При добавлении элементов в MyData.Sourse ничего не меняется, нашел код на подобие, то есть вообще ничего не отображается, хотя знаю, что MyData.Sourse обновился.


    у вас источником данных выступают 3 ObservableCollection - скорее всего при первичном байндинге связь происходит только с одним из списков.

    возможно вледует вместо прямой связки использовать что-то вроде ListCollectionView и при изменениях в коллекции/нужной коллекции вручную обновлять ListCollectionView
    Ответ написан
    Комментировать