Non è insolito per me scrivere qualcosa di simile in basso per lo styling di un modulo di immissione dati, ma il mio problema è che e TextBlock
non sembrano implementare i Setter che si trovano nello BaseElementStyle
. Di solito ho bisogno di definirli separatamente.Perché il mio TextBlock/TextBox non applica i valori da uno stile di base?
Perché è questo? E c'è un modo per aggirarlo?
sto indovinando che ha a che fare con il fatto che di solito vengono utilizzati in altri modelli di controllo (ad esempio TextBlock è utilizzato nella maggior parte dei controlli e TextBox è utilizzato in datepickers e ComboBoxes)
<Style x:Key="BaseElementStyle" TargetType="{x:Type FrameworkElement}">
<Setter Property="Margin" Value="5" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource BaseElementStyle}" />
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource BaseElementStyle}" />
<Style TargetType="{x:Type Label}" BasedOn="{StaticResource BaseElementStyle}" />
<Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource BaseElementStyle}" />
<Style TargetType="{x:Type DatePicker}" BasedOn="{StaticResource BaseElementStyle}" />
<Style TargetType="{x:Type CheckBox}" BasedOn="{StaticResource BaseElementStyle}" />
Grazie! E mi hai insegnato qualcosa di nuovo ... non sapevo che avresti potuto basare uno stile su uno stile implicito come quello che hai mostrato al secondo. Molto bello sapere! – Rachel