【问题标题】:Marking a custom control as internal throws exception将自定义控件标记为内部引发异常
【发布时间】:2011-06-14 19:27:27
【问题描述】:

有一个名为 TestCustomControl 的自定义控件,它继承自 Control,并有一个在 generic.xaml 中定义的控件模板。

这是主页的内容。

如果我将其标记为公开,则一切正常。 但是,如果我将其标记为内部,则会引发异常:Invalid attribute value local:TestCustomControl for property TargetType。 [行:74 位置:12]。

而且这只发生在 Windows Phone 开发环境中,我在 WPF 中尝试过类似的事情,它可以工作。

如何将自定义控件标记为内部控件并在 WP7 的主页中使用它?

谢谢

注意:当我在 xaml 中使用它时,它会引发异常。然后我通过在代码隐藏中创建控件来对其进行测试,然后将其添加到逻辑树中,它也会引发异常。

【问题讨论】:

    标签: wpf silverlight windows-phone-7 custom-controls generic.xaml


    【解决方案1】:

    您不能将其标记为内部,因为 XAML 将仅基于反射处理大部分内容,并且在大多数情况下,反射仅允许用于公共类型和公共成员。

    如果您将其设为内部,则只能在代码中使用它,而不能在 xaml 中使用。

    【讨论】:

    • 它在 WPF 中工作。这是 WPF 和 Silverlight 之间另一个未记录的区别吗?
    【解决方案2】:

    您的控件是托管在主应用程序中还是托管在附属 dll 中?

    【讨论】:

    • 它在主应用程序中。并且仅在主应用程序中需要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多