Есть ли способ отменить регистрацию или переопределить обработчик событий для обратного вызова измененного свойства зависимости в подклассе? - PullRequest
2 голосов
/ 12 июля 2011

Я использую беглую ленту, у которой есть этот класс "GalleryItem", который расширяет ListBoxItem.В этом классе зарегистрирован обработчик события для свойства IsSelected:

IsSelectedProperty.AddOwner(typeof (GalleryItem), new FrameworkPropertyMetadata(false,FrameworkPropertyMetadataOptions.None, OnIsSelectedPropertyChanged));

К сожалению, в обработчике событий есть ошибка, и я, естественно, не хочу редактировать исходный код проекта, поэтому яВы подклассифицировали GalleryItem к «CustomGalleryItem» и выполните следующие действия в статической конструкции:

IsSelectedProperty.AddOwner(typeof(CustomGalleryItem),new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.None, OnIsSelectedPropertyChanged)); }

Однако оба обработчика событий вызываются при изменении «IsSelected». Какие у меня варианты?(Я хочу переопределить обработчик события "GalleryItem"

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 03 октября 2011

Эта проблема была зарегистрирована как проблема на странице кодового комплекса Fluent здесь , и была решена в версии 62947 и выше, которую можно загрузить здесь

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

Вы пытались использовать метод DependencyProperty.OverrideMetadata (). Это может заменить обработчик изменений, а не просто добавить другого владельца.

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