我想創建一個Silverlight自定義控件,從System.Windows.Controls.Control
派生自internal
,但我在嘗試應用默認樣式時看到問題。下面是類的最簡單的形式...默認樣式與內部自定義控件(C#Silverlight)
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分析器。
感謝, 添
+1因爲我有這個相同的錯誤信息,併爲我的目的,使公共類是足夠好,所以這解決了我的問題。 – 2010-11-10 21:21:26
+1,因爲我遇到了這個問題,在我的Application.Resources字典中使用了一個內部類 – Phil 2012-03-25 21:57:58