Я пытаюсь создать пользовательский элемент управления 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.
Спасибо, Tim
+1 потому что у меня было такое же сообщение об ошибке и для моей цели, что делает класс общедоступным достаточно хорошим, поэтому это решило мою проблему. –
+1, потому что я столкнулся с этой проблемой с внутренним классом, который используется в моем словаре Application.Resources – Phil