Могу ли я поднять CanExecute на MediaCommands без использования InvalidateRequerySuggested ()? - PullRequest
3 голосов
/ 30 мая 2011

У меня есть несколько пользовательских привязок CommandBind, которые определяют состояние CanExecute различных MediaCommands (Play, Pause и т. Д.).Я хотел бы вызвать обработчик CanExecute для вызова в определенных точках.Тем не менее, единственный способ выяснить, как это сделать, - это InvalidateRequerySuggested (), который заставляет все пересчитать свой CanExecute.Это излишне и медленно, поэтому я хотел бы найти лучший, более целенаправленный способ обновления CanExecute для этих команд.

Похоже, что если бы я использовал DelegateCommand, я мог бы сделать это, вызвав RaiseCanExecuteChanged, ноЯ хотел бы сделать это с существующими MediaCommands, если это возможно.

Если нет никаких прямых способов сделать это, есть ли какие-нибудь хакерские обходные пути даже?Я заметил, что есть некоторый ум при внутреннем пересчете CanExecute (например, при первом показе элементов UIE и т. Д.)

...