Я пытаюсь получить Thumb
из Slider
.Почему шаблон управления при запуске имеет значение null?
_thumb = ((Track)AssociatedObject.Template.FindName("PART_Track", AssociatedObject))?.Thumb;
Это проливает NRE, потому что Template
является недействительным. Почему Template
имеет значение null при запуске приложения? и как я могу это исправить?
Я попытался код ниже
AssociatedObject.ApplyTemplate(); // no effect. returns false.
var template = AssociatedObject.Template; // returns null.
Даже если я применяю шаблон его еще пустой.
Раньше я был надменным слайдером OnApplyTemplate
и шаблоном не было null.
public override void OnApplyTemplate()
{
// works fine.
_thumb = ((Track)this.Template.FindName("PART_Track", this))?.Thumb;
base.OnApplyTemplate();
}
Но теперь я пытаюсь создать поведение для слайдера, а не создавать подкласс, так что я не могу отменить. Любая идея, как это исправить?