¿Cómo crear un estilo basado en el estilo predeterminado?


¿Cómo crear un estilo basado en el estilo predeterminado en Silverlight?

Por ejemplo, en WPF lo hacemos como:

<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
  <Setter Property="Margin" Value="2" />
  <Setter Property="Padding" Value="2" />
</Style>
Author: Rekshino, 2012-10-22

2 answers

** lee los comentarios antes de votar en contra.

Casi lo mismo. Solo menos el tipo x:con nombres más explícitos.

<Style TargetType="TextBox" BasedOn="{StaticResource DefaultTextBoxStyle}">

Más información aquí en los documentos. PD, en caso de que necesite las plantillas predeterminadas, el cuadro de texto, por ejemplo, normalmente se encontraría en CoreStyles.xaml

ANEXO como se solicita en los comentarios en caso de que esté confundido en la primera lectura de la respuesta;

" necesitas un estilo base, que es realmente fácil de hacer como se supone que debes hacerlo en un tema de aplicación (SILVERLIGHT, wpf / uwp etc no tendrá estos) que crea los archivos como ToolkitStyles.xaml, SDKStyles.xaml, CoreStyles.xaml, etc... Que es de donde vino el nombre en la respuesta "

 25
Author: Chris W.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-13 13:27:25

Para crear un estilo basado en el estilo predeterminado, debe crear un estilo con nombre, luego hacer que el estilo predeterminado se base en el estilo con nombre ( http://weblogs.asp.net/lduveau/silverlight-how-to-inherit-from-an-implicit-style )

<Style x:Key="DefaultCustomControlStyle" TargetType="local:CustomControl">
    <Setter Property="Padding" Value="2" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="local:CustomControl">
                <ContentPresenter />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
<Style TargetType="local:CustomControl" BasedOn="{StaticResource DefaultCustomControlStyle}" />
 13
Author: AJ Richardson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-11 13:48:14