Это должно быть общая проблема с решением для этого, но я не могу найти его.Мне нужно иметь возможность установить значение в текстовом поле, но текстовое поле часто обновляется внешним источником (в данном случае PLC).Когда оно обновляется из источника, я хочу отобразить обновленное значение в текстовом поле (но не тогда, когда пользователь печатает), не вызывая метод, вызываемый из установщика свойства зависимости.
У меня естьбазовое текстовое поле, которое связано со свойством зависимости в коде xaml модели представления.
<TextBox Text="{Binding A}" />
Свойство выглядит следующим образом
private string _a;
public string A
get
{
return _a;
}
set
{
if (value != _a)
{
Set(ref _a, value);
SomeMethod(value);
}
}
Здесь я попытался обновить поле
_a = ValueFromAnotherSource;
Что не обновляет представление, если я не запускаю
RaisePropertyChanged(String.Empty);
В этом случае пользовательский ввод при вводе текста перезаписывается, если значение обновляется.
В качестве альтернативы я могу написать всвойство
A = ValueFromAnotherSource;
Но вызывается SomeMethod (значение), а это не то, что мне нужно, его следует вызывать только в том случае, если значение изменяется от пользователя, печатающего на экране