ArgumentException при установке DefaultStyleKey в пользовательском элементе управления, полученном из пользовательского элемента управления - Silverlight 4 - PullRequest
2 голосов
/ 18 сентября 2011

Я создал пользовательский элемент управления MyUserControl . Теперь я хочу создать пользовательский элемент управления MyCustomControl , производный от MyUserControl . Код MyCustomControl.cs следующий:

public class MyCustomControl : MyUserControl
    {
        public MyCustomControl()
        {
            this.DefaultStyleKey = typeof(MyCustomControl);
        }
    }

У меня есть файл Themes / Generic.xaml со стилем

<Style TargetType="local:MyCustomControl">
 ...
</Style>

Создание MyCustomControl во время выполнения я получаю ArgumentException выполнение строки

this.DefaultStyleKey = typeof(MyCustomControl);

Чего мне не хватает?

1 Ответ

2 голосов
/ 18 сентября 2011

Присвоение типа, производного от UserControl до DefaultStyleKey, явно запрещено, если выдается ArgumentException (почему ArgumentException и почему никакое пояснительное сообщение не включено, знает только команда SL).

A UserControl не может быть шаблонно получен вместо своего собственного ассоциированного Xaml.Вот и весь смысл UserControl.Вам нужно преобразовать MyUserControl в временный элемент управления, если вы хотите наследовать его так, как вы пытаетесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...