是否有任何情况下ContentPresenter
的内容将成为UIElement
以外的某个对象?鉴于该字段被声明为对象而不是UIElement
,似乎可能会有。但是,我想不出任何情况,或者即使它是有效的。将ContentPresenter.Content投射到UIElement是否合适?
ContentPresenter presenter = GetTemplateChild(PART_Presenter) as ContentPresenter;
UIElement myElement = (UIElement)presenter.Content;
myElement.SomeUIMethod(); // possible InvalidOperationException?
您将在第二行得到一个InvalidCastException,而在第三行得到InvalidOperationException – Nir 2009-12-01 09:36:38