Quiero utilizar el estilo de cuadro de texto Aero, pero todavía anulo algunas propiedades. Trato de lograr esto:Reemplazar el estilo predeterminado en WPF TextBox, basado en PresentationFramework.Aero
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
</ResourceDictionary.MergedDictionaries>
<Style x:Key="{x:Type TextBox}" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Margin" Value="2" />
<Setter Property="Padding" Value="2" />
</Style>
</ResourceDictionary>
Sin embargo, esto resulta en una StackOverflowException
al iniciar mi aplicación. Cuando elimino la referencia a PresentationFramework.Aero, esto funciona pero obtengo el estilo de sistema operativo predeterminado, lo que hace que la aplicación sea fea. ;)
Por lo tanto, en efecto: si quiero sobrescribir algún estilo en todos mis cuadros de texto no puedo obtener el aspecto Aero. Si quiero el aspecto Aero, no puedo anular ningún estilo. Punto muerto.
¿Alguna manera de resolver esto?
En su comentario a continuación Roberts respuesta que parece dar a entender que tienes este trabajo con resourcedictionaries de alto nivel. Por favor comparte lo que se te ocurrió. – Oskar