Pergunta

Estamos embarcando em nosso primeiro projeto Silverlight, vindo do WPF. É um portal da web relativamente simples e gostaríamos de evitar referências ao Silverlight Toolkit, dada a nossa experiência com o WPF Toolkit.

Não sou muito codificador e tenho algumas perguntas relacionadas aos temas:

  • Estilos implícitos facilitam isso. Parece claro que você pode trocar os dicionários de recursos para mudar seu tema. Como faço isso sem confiar no kit de ferramentas?

  • Como aplico os estilos a todo o aplicativo, como no WPF, em vez de envolver as coisas nos contêineres temáticos? Vejo que existe um ApplicationThemeuri que você pode usar, mas isso requer o kit de ferramentas.

Obrigado.

Foi útil?

Solução

Apenas uma nota no kit de ferramentas do Siverlight. A última vez que usei o WPF Toolkit (que foi atrás), tive a impressão de que era mais ou menos opcional. Eu não diria que o mesmo se aplica ao Silverlight Toolkit. Ele adiciona muita funcionalidade importante que seria difícil de implementar por conta própria e, embora não seja livre de insetos, é bastante confiável. Não posso garantir todos os aspectos, mas estamos usando extensivamente em um grande projeto de Silverlight (~ 30k linhas de código), e achamos indispensável. A menos que você esteja ciente de problemas específicos que seu projeto encontraria, eu recomendaria que você repense sua decisão de não usá -lo.

Outras dicas

A aplicação de estilo em todo o aplicativo é uma tarefa simples no Silverlight 4. Coloque este código no app.xaml ou temas/genérico.xaml:

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

Este artigo pode ajudá -lo:http://www.silverlightshow.net/items/implicit-styles-in-silverlight-4.aspx  

Você pode mudar o dicionário de recursos dessa maneira:

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);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top