Управление контролами из ViewModel

134
14 января 2019, 02:30

Простите за глупый вопрос, но что я делаю не так?

Есть форма WPF, у нее ViewModel, настроен binding на свойства, в set'тере свойств событие оповещения вызывается выше, в унаследованных методах (использую GalaSoft.MvvmLight.ViewModelBase).

public abstract class QuestionnairesBaseViewModel : ViewModelBase
{
    // ...
    protected void SetField<T>(ref T field, T value)
    {
        try
        {
            if (EqualityComparer<T>.Default.Equals(field, value)) return;               
            field = value;
            RaisePropertyChanged();
        }
        catch { field = default(T); }
    }
    // ...
}
public class FormLViewModel : QuestionnairesBaseViewModel, IQuestionnaireViewModel, IDataErrorInfo
{
    // ...
    private string _birthPlace;
    public string BirthPlace
    {
        get => _birthPlace;
        set => SetField(ref _birthPlace, value);
    }
    // ...
}

Если я устанавливаю значение свойства в конструкторе VM, то окно открывается и соответствующий контрол отображает установленное значение.

Но если я уже в процессе работы устанавливаю в одном из методов VM значение свойства - то оно устанавливается (отладчиком проверял), событие вызывается, но контрол в окне свой вид не меняет и измененное значение не отображает.

Это же базовый режим работы в модели MVVM - обработку данных делать во VM. Но из-за этого мне уже не раз приходилось устанавливать значения контролов прямо в файле присоединенного кода формы. Что удивительно - при этом все прекрасно сразу отображается и состояние VM тоже меняется. Но очень, мягко говоря, "так себе"...

READ ALSO
Непонятное поведение Phemto

Непонятное поведение Phemto

Метод show вызывается 2 разаОдин раз когда $message равен NULL и второй раз после того как через setMessage передан объект класса HelloMessage

134
php imageresolution

php imageresolution

В php есть функция http://phpnet/manual/ru/function

169
не могу настроить Bitrix Rss

не могу настроить Bitrix Rss

Не могу настроить модуль на импорт rss в битриксе, вот часть кода:

212
Можно ли прикрутить кусок кода на Java к PHP?

Можно ли прикрутить кусок кода на Java к PHP?

Есть расчетные модули написанные на Java под Android

164