Silverlight 4: thèmes de changement / styles pour l'application entière sans utiliser Toolkit

StackOverflow https://stackoverflow.com/questions/3807223

Question

Nous entamons notre premier projet Silverlight, venant de WPF. Il est un portail web relativement simple et nous voudrions éviter les références à la boîte à outils Silverlight, compte tenu de notre expérience avec la boîte à outils WPF.

Je ne suis pas beaucoup plus d'un codeur et d'avoir deux ou trois questions liées aux thèmes:

  • styles implicites font plus facile. Il semble clair, vous pouvez simplement passer des dictionnaires de ressources pour changer votre thème. Comment puis-je faire cela sans compter sur la boîte à outils?

  • Comment puis-je appliquer les styles à l'ensemble de l'application, comme dans WPF, au lieu d'envelopper les choses dans les conteneurs à thème? Je vois qu'il ya un ApplicationThemeURI vous pouvez utiliser, mais qui nécessite la boîte à outils.

Merci.

Était-ce utile?

La solution

Juste une note sur la boîte à outils Siverlight. La dernière fois que je la boîte à outils WPF (ce qui était il y a un certain temps), j'eu l'impression qu'il était plus ou moins en option. Je ne dirais pas que la même chose est vraie de la boîte à outils Silverlight. Il ajoute beaucoup de fonctionnalités importantes qui seraient difficiles à mettre en œuvre sur votre propre, et alors qu'il n'est pas sans bug, il est assez fiable. Je ne peux pas se porter garant pour tous les aspects de celui-ci, mais nous l'utilisons largement dans un grand projet Silverlight (~ lignes de 30K de code), et nous trouvons indispensable. Sauf si vous êtes au courant des problèmes spécifiques que votre projet rencontrerait, je vous recommande de repenser votre décision de ne pas l'utiliser.

Autres conseils

L'application de style à l'application entière est une tâche simple silverlight 4. Mettez ce code dans App.xaml ou thèmes / generic.xaml:

<!-- Sample style for each button in the application -->
<Style TargetType="Button">
</Style>

Cet article pourrait vous aider à: http://www.silverlightshow.net/items/Implicit-Styles -en-Silverlight-4.aspx

Vous pouvez modifier le dictionnaire des ressources de cette façon:

var dict = Application.Current.Resources.MergedDictionaries.FirstOrDefault(rd => rd.Source == new Uri("Dictionary1.xaml", UriKind.Relative));
if (dict != null)
     dict.Source = new Uri("Dictionary2.xaml", UriKind.Relative);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top