Desidero utilizzare lo stile della casella di testo Aero, ma comunque sovrascrivo alcune proprietà. Io cerco di ottenere questo risultato:Sovrascrivi lo stile predefinito in WPF TextBox, basato su 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>
Tuttavia, questo si traduce in un StackOverflowException
quando si inizia la mia app. Quando rimuovo il riferimento a PresentationFramework.Aero, questo funziona ma ottengo lo stile di default del sistema operativo, che rende l'app brutta. ;)
Quindi, in effetti: se voglio sovrascrivere un certo stile su tutte le mie caselle di testo non riesco a ottenere l'aspetto Aero. Se voglio l'aspetto Aero, non posso ignorare alcuno stile. Deadlock.
Un modo per risolvere questo?
Nel tuo commento Roberts risposta qui sotto ti sembra accennare che avete ottenuto questo lavoro con resourcedictionaries di alto livello. Per favore condividi ciò che ti è venuto in mente. – Oskar