В приведенном вами примере используется Hidden
, если false
. Встроенный конвертер - Collapsed
, если false
.
Это мое мнение, но я думаю, что многие создают свои собственные, потому что это дает им возможность добавить дополнительные функциональные возможности. Сам я всегда создавал свои собственные и использовал parameter
, чтобы я мог контролировать, что будет, если false
.
Я не совсем понимаю ваш вопрос об изменении собственности.
Если PropertyChanged
равно нулю, тогда ваш handler
будет иметь значение null и не будет выполняться. Вам не нужно писать любой другой код. За кулисами зацикливается WPF. Вам не нужно ничего делать, кроме как позвонить, чтобы сообщить, что вы обновили свойство. WPF знал, как подключиться к нему, потому что он видел INotifyPropertyChanged
на вашем объекте.
Надеюсь, это имеет смысл.