执行此操作时出现运行时错误。
我有这个类:
public abstract class AnnObject : DependencyObject
当我这样做时,它编译得很好,但会引发运行时错误......
AnnObject aa;
var b = (DependencyObject)aa;
var c = (UIElement)b;
我得到的错误是无法将 AnnObject 转换为UIElement
.
有人可以简要解释一下这种行为吗?
执行此操作时出现运行时错误。
我有这个类:
public abstract class AnnObject : DependencyObject
当我这样做时,它编译得很好,但会引发运行时错误......
AnnObject aa;
var b = (DependencyObject)aa;
var c = (UIElement)b;
我得到的错误是无法将 AnnObject 转换为UIElement
.
有人可以简要解释一下这种行为吗?
Silverlight 中 UI 组件的类层次结构是:-
DependencyObject
UIElement
FrameworkElement
Control
因此,正如 Heinz 指出的那样,您需要从UIElement
order 派生才能转换为UIElement
and DependencyObject
。就我个人而言,我看不出DependencyObject
有那么有用。我通常会从 开始FrameworkElement
,Control
甚至更高。
你只派生自DependencyObject
,而不是派生自UIElement
。