У меня сложная проблема, я хочу немного необычное поведение из флажка и, похоже, не могу понять это. Любые предложения будут приветствоваться. Поведение, которое я хочу, это:
- CheckBox включен и готов для щелчка пользователя, IsChecked представляет собой связанное логическое значение, хранящееся в структуре данных.
- Пользователь нажимает кнопку CheckBox, вызывающую событие клика, но связанное значение в структуре данных НЕ обновляется, а визуальное представление CheckBox НЕ обновляется, но оно отключается, чтобы остановить дальнейшее нажатие
- Событие клика запускает сообщение, которое должно быть отправлено на удаленное устройство, для выполнения которого требуется некоторое время
- Удаленное устройство реагирует на то, что структура данных будет обновлена с новым значением, привязка затем обновит статус isChecked, а CheckBox получит повторное подключение для дальнейшего нажатия
Проблема заключается в том, что хотя привязка данных OneWay работает при не обновлении структуры данных при нажатии кнопки CheckBox, визуальное представление меняет (что, по моему мнению, является нечетным, не должен IsChecked теперь действовать как указатель на значение в структуре данных).
Я могу изменить изменение в событии Click() и отключить его, но это довольно грязно. Я также могу иметь свойство set значения структуры данных, чтобы установить значение isEnabled, которое также связано с возможностью повторного использования CheckBox, но это тоже кажется грязным.
Есть ли чистый способ сделать это? Возможно, с производным классом CheckBox? Как я могу остановить обновление визуального представления?
Спасибо
Ed