Y at-il des situations où le contenu d'un ContentPresenter
sera un objet autre qu'un UIElement
? Étant donné que le champ est déclaré comme objet plutôt que comme UIElement
, il semble possible qu'il y en ait. Cependant, je ne peux penser à aucune situation où ce serait, ou même si ce serait valide.Est-il approprié de diffuser ContentPresenter.Content à UIElement?
ContentPresenter presenter = GetTemplateChild(PART_Presenter) as ContentPresenter;
UIElement myElement = (UIElement)presenter.Content;
myElement.SomeUIMethod(); // possible InvalidOperationException?
Vous obtiendrez une exception InvalidCastException dans la deuxième ligne, et non InvalidOperationException sur le troisième – Nir