Привязка не обновляет несколько элементов интерфейса - PullRequest
0 голосов
/ 23 июля 2011

У меня есть кнопки на моей странице Silverlight, где непрозрачность привязана к одному из двух свойств в моей ViewModel.Я использую команду кнопки, которая изменяет свойства, теоретически, чтобы повлиять на все кнопки, связанные с этим свойством, но единственный элемент управления, на который влияют, - это кнопка, которая запускает команду (любую из них).

Есть идеи о том, почему не работают дополнительные привязки?

На самом деле все немного сложнее, когда кнопки в элементе управления имеют привязки в виде привязок DependencyProperties к виртуальной машине.и связанные свойства проходят через ValueConverter.

Ответы [ 2 ]

0 голосов
/ 25 июля 2011

Я нашел проблему. Привязка непрозрачности не работала, но происходило то, что кнопка отключала себя на основе предиката, который я установил в RelayCommand. Это выглядело как эффект, который я хотел, но влиял только на нажатие кнопки, потому что каждая кнопка была связана с отдельной ICommand.

Я изменил его, чтобы удалить изменение привязки из OpacityProperty к IsEnabledProperty, и удалил предикат из объявления RelayCommand. Теперь все работает как задумано.

Я не знаю, почему кнопка изменилась бы на отключенное представление, когда она проверяет предикат (и находит его ложным), но никогда не изменится обратно, если условие изменится. Одд.

0 голосов
/ 23 июля 2011

Похоже, вам нужно вызвать событие INotifyPropertyChanged.PropertyChanged для изменяющихся свойств.Это позволит элементам управления, связанным с ними, знать, что произошли изменения, и что им нужно вернуться и получить последнее значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...