0

Ich habe einen Stil für ListItems erstellt, den ich für alle ListBoxen in meiner Anwendung verwenden möchte. Ich kann diese manuell wie so eingestellt:Formatieren aller ListItems in einer App, auch in einem Steuerelement mit Vorlagen.

<ListBox ItemContainerStyle=""> 

Aber ich habe Probleme, den Stil bekommen zu jeder einzelnen List-Box in meiner Bewerbung ohne jeden zu berühren und das Hinzufügen des oben Attributs.

Zusätzlich, und was noch wichtiger ist, möchte ich den Stil auf Listboxen anwenden, die in benutzerdefinierten Vorlagensteuerelementen verwendet werden. Im Moment muss ich das Generic.xaml Theme in der Kontrollbibliothek ändern ... nicht etwas, von dem ich denke, dass ich es tun müsste.

Ziemlich sicher, dass dies etwas mit Themen zu tun hat, btu eine Menge Zeit herauszufinden.

Antwort

1

könnten Sie implizite Stile verwenden. http://www.silverlightshow.net/items/Implicit-Styles-in-Silverlight-4.aspx
Sie definieren einen globalen Stil für einen Typ (in Ihrem Fall ListBoxItem) und dann ist dieser Stil der neue Standardstil für Ihre App.

Wenn Sie weitere Informationen benötigen, hinterlassen Sie einfach einen Kommentar.

BR,

TJ

+0

Ernsthaft? Ich war die ganze Zeit auf der Jagd und alles, was ich tun musste, war meinen Schlüssel aus dem Stil zu entfernen? GRRRR .... Danke TJ, das hat es behoben. –

2

Sie können dies tun, mit implicit styles in Silverlight 4.

Definieren Sie Ihren Stil in der regulären Art und Weise:

<Style x:Key="DefaultListBoxStyle" TargetType="ListBox"> 
    .... 
<Style> 

erstellen Sie dann die implizite Stil:

<Style TargetType="ListBox" 
     BasedOn="{StaticResource DefaultListBoxStyle}" /> 
+0

Dies ist das bessere Muster für implizite Stile. Auf diese Weise können Sie zusätzliche benutzerdefinierte Stile erstellen, die auf dem Standardstil basieren. Wenn Sie nur einen einzigen Stil ohne Schlüssel erstellen, gibt es keine Möglichkeit, dies zu tun. –