Silverlight: Как установить стиль по умолчанию в generic.xaml для дочернего класса? - PullRequest
0 голосов
/ 16 октября 2008

У меня есть следующая иерархия:

public class A
{
  protected class B
  {
  }
}

И я попытался определить стиль по умолчанию следующими способами (внутри generic.xaml):

<Style TargetType="local:A+B">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="local:A+B">
                <Grid/>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

<Style TargetType="local:A.B">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="local:A.B">
                <Grid/>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

<Style TargetType="local:B">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="local:B">
                <Grid/>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Кто-нибудь знает правильный синтаксис?

1 Ответ

1 голос
/ 20 октября 2008

Я не верю, что наследуемые стили поддерживаются так же, как и в CSS. Вы можете создать стиль только для определенного целевого типа. Затем в этом случае вам нужно назначить стиль.

Однако вы используете файл generic.xaml (теперь в файле themes / generic.xaml), который применяет стиль по умолчанию для определенного целевого типа. Поэтому, если вам нужно нацелиться на содержащийся класс B, вам нужно либо определить стиль B, либо включить его в поле A через публичные свойства.

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