2

执行此操作时出现运行时错误。

我有这个类:

public abstract class AnnObject : DependencyObject

当我这样做时,它编译得很好,但会引发运行时错误......

AnnObject aa;
var b = (DependencyObject)aa;
var c = (UIElement)b;

我得到的错误是无法将 AnnObject 转换为UIElement.

有人可以简要解释一下这种行为吗?

4

2 回答 2

4

Silverlight 中 UI 组件的类层次结构是:-

DependencyObject
  UIElement
    FrameworkElement
      Control

因此,正如 Heinz 指出的那样,您需要从UIElementorder 派生才能转换为UIElementand DependencyObject。就我个人而言,我看不出DependencyObject有那么有用。我通常会从 开始FrameworkElementControl甚至更高。

于 2010-07-16T19:38:22.603 回答
2

你只派生自DependencyObject,而不是派生自UIElement

于 2010-07-16T16:53:12.290 回答