Wie erstelle ich einen Stil basierend auf dem Standardstil in Silverlight?
In WPF machen wir es zum Beispiel so:
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Margin" Value="2" />
<Setter Property="Padding" Value="2" />
</Style>
.net
wpf
xaml
silverlight
ZuTa
quelle
quelle
Antworten:
So ziemlich das selbe. Nur minus der
x:Type
mit expliziterer Benennung.<Style TargetType="TextBox" BasedOn="{StaticResource DefaultTextBoxStyle}">
Weitere Informationen finden Sie hier in den Dokumenten . PS: Wenn Sie die Standardvorlagen benötigen, befindet sich TextBox normalerweise in CoreStyles.xaml
ADDENDUM wie in den Kommentaren angefordert, falls Sie beim ersten Lesen der Antwort verwirrt sind;
" Sie benötigen einen Basisstil , der wirklich einfach zu erstellen ist, da Sie ihn in einem Anwendungsthema ausführen sollen, wie es Silverlight standardmäßig bereitstellt (wpf / uwp usw. haben diese nicht), mit dem Dateien wie ToolkitStyles.xaml erstellt werden , SDKStyles.xaml, CoreStyles.xaml usw. Woher stammt der Name der statischen Ressource in der Antwort als Ziel für eine Silverlight-Version aus dem Jahr, in dem diese ursprünglich beantwortet wurde? "
quelle
Nur für Silverlight :
Um einen Stil basierend auf dem Standardstil zu erstellen, müssen Sie einen benannten Stil erstellen und dann den Standardstil basierend auf dem benannten Stil erstellen ( http://weblogs.asp.net/lduveau/silverlight-how-to-inherit-from) -an-impliziter-Stil )
<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}" />
Wenn Sie WPF verwenden, ist es viel einfacher, stattdessen den Code in der ursprünglichen Frage zu verwenden.
quelle
Ich würde empfehlen, einen Blick darauf zu werfen: https://justinmchase.com/2009/05/29/derived-styles-based-on-unnamed-default-styles/ Das würde für Sie so aussehen :
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
quelle
Wenn ich das richtig verstehe, suchen Sie nach OverridesDefaultStyle
<Style TargetType="{x:Type TextBox}"> <Setter Property="OverridesDefaultStyle" Value="False" /> <Setter Property="Margin" Value="2" /> <Setter Property="Padding" Value="2" /> </Style>
quelle