2

System.Windows.Controls.Control我正在尝试创建一个派生自with visibility的 Silverlight 自定义控件internal,但是在尝试应用默认样式时遇到了问题。这是该类的最简单形式...

internal class MyClass : Control
{
    public MyClass()
    {
        DefaultStyleKey = typeof(MyClass);
    }
}

generic.xaml...这是...中默认样式的一种简单形式

<Style TargetType="controls:MyClass">
    <Setter Property="Margin" Value="10" />
</Style>

虽然这个控件没有做任何有用的事情,但可以创建它的一个实例,但前提是它的可见性是public. 当类被标记internal时,应用程序会引发以下运行时错误:

Error: Unhandled Error in Silverlight Application 
Code: 4004    
Category: ParserError       
Message: No matching constructor found on type 'MyClass'.     
File:      
Line: 11     
Position: 40     

您能否告知我需要做什么才能使内部控制类对 Xaml 解析器可见。

谢谢,蒂姆

4

1 回答 1

2

大多数后期绑定场景使用反射并要求方法/成员/属性是公开的。

为什么在这种情况下不能公开?

于 2010-09-10T10:04:06.883 回答