.NET 4.7.2 и конвертеры привязок

Застрял в некотором затруднении здесь (каламбур не предназначен:))

Несколько наших клиентов обновили Windows 10 до версии 1803, что привело к боковой загрузке.NET 4.7.2.

Все казалось нормальным, но мы заметили, что наши сетки WPF начали действовать, как ни странно. Когда вы нажмете на определенные ячейки сетки, вы увидите только одно значение. Например

Если сетка содержала следующее:

Column 1(custom Control) | Column 2 (String) | Column 3 (String)|
          A1             |       B1          |       C1   |
          A2             |       B2          |       C2   |
          A3             |       B3          |       C3   |

Если вы нажмете на A3 в столбце 1, вы увидите A3, если вы затем нажмете на A1 в столбце 1, вы все равно увидите A3.

Я обнаружил, что в предыдущих версиях.NET нажатие на ячейку сигнализировало о вызове конвертера. Это будет происходить при каждом щелчке ячеек в столбце 1. После 4.7.2 конвертер вызывается только в первый раз, когда щелчок регистрируется в столбце, а затем никогда не вызывается снова.

Вот как настраивается привязка и конвертер:

// setup binding for this data item
var mbinding = new MultiBinding { Mode = BindingMode.TwoWay, Converter = converter, ValidatesOnExceptions = false, ValidatesOnDataErrors = true };
var binding1 = new Binding(".") { Mode = BindingMode.OneWay, ValidatesOnExceptions = false, ValidatesOnDataErrors = true };
var binding2 = new Binding(string.Format("{0}", Adapter.FKKeyCol)) { Mode = BindingMode.TwoWay, ValidatesOnExceptions = false, ValidatesOnDataErrors = true };
mbinding.Bindings.Add(binding1);
mbinding.Bindings.Add(binding2);
mbinding.UpdateSourceTrigger = UpdateSourceTrigger.Explicit;
if (!editable) mbinding.Mode = BindingMode.OneWay;

Есть ли способ заставить конвертер вызываться в этом столбце при каждом клике снова?

0 ответов

Другие вопросы по тегам