Отдельный объект преобразователя значения WPF инстанцирован для каждой привязки, в которой используется конкретный класс преобразователя значения?
Я пытаюсь создать двухсторонний преобразователь бита к булеву значению. Я хотел бы смочь связать a bool
свойство (такой как IsChecked
) к немного в типе значения (как a ushort
). Я использую преобразователь parameter
аргументы для определения бита. При реализации ConvertBack () метод легок, но Преобразуйте (), немного более хитро.
В Преобразовании () я должен знать что значение всего ushort
так, я могу переключить просто единственный бит, которым я интересуюсь. Я думал о просто использовании членской переменной в моем классе преобразователя значения для временного хранения этого каждый раз, когда ConvertBack () называют, таким образом ведя к вышеупомянутому вопросу: каждая привязка получает свой собственный экземпляр преобразователя значения?
Если вы используете преобразователь, определенный в ваших ресурсах, он будет разделен между вашими свойствами.
Если вам нужны уникальные преобразователи: Однако если вы создадите определенный конвертер для свойства, он не будет разделен. Либо вариант работает. Вы даже можете использовать несколько преобразователей (одного типа, с разными клавишами) в ваших ресурсах, что создаст уникальные экземпляры.
Создайте конструктор и деструктор в вашем конвертере и установите точки останова, чтобы сказать наверняка. Я только что создал простой пример, и для моих нескольких просмотра было создано только один конвертер, который использовал конструктор