Исходя из фона Java Я столкнулся с проблемой синхронизации с двухсторонним связующим механизмом. У меня есть свойство, которое привязано к selectitem в combobox.C# Two Way Binding Loop
<ComboBox SelectedItem="{Binding car.hp, Mode=TwoWay}" .../>
В событии OnSelectionChanged я запускаю долгое время выполнения команды.
private void async() {
...
await longtermjob();
...
}
Это все работает до сих пор. Но если я быстро изменю выделение списка, пока команда еще не закончена, я запускаю бесконечный цикл. Выбранный элемент продолжает меняться между двумя значениями. Любые идеи, как это может произойти? Как я могу убедиться, что привязка является потокобезопасной?
Он может обновить логический флаг, используя функцию обратного вызова после того, как текущий поток закончить задачу. –
Это то, что происходит с 'await', но это позволяет запускать несколько запросов и запускать их, что вызывает больше .... – WiredPrairie
Спасибо! Добавление условия устраняет проблему! – Sonic