0

我们正在着手进行我们的第一个 Silverlight 项目,该项目来自 WPF。这是一个相对简单的 Web 门户,鉴于我们使用 WPF 工具包的经验,我们希望避免引用 Silverlight 工具包。

我不是一个编码员,并且有几个与主题相关的问题:

  • 隐式样式使这更容易。很明显,您可以切换资源字典来更改主题。我如何在不依赖工具包的情况下做到这一点?

  • 如何将样式应用于整个应用程序,例如在 WPF 中,而不是将内容包装在主题容器中?我看到您可以使用 ApplicationThemeURI,但这需要工具包。

谢谢。

4

2 回答 2

1

将样式应用于整个应用程序是 silverlight 4 中的一项简单任务。将此代码放在 App.xaml 或主题/generic.xaml 中:

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

这篇文章可以帮助你: http ://www.silverlightshow.net/items/Implicit-Styles-in-Silverlight-4.aspx  

您可以通过这种方式更改资源字典:

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);
于 2010-09-27T20:07:28.443 回答
0

只是关于 Silverlight 工具包的一个注释。上次我使用 WPF Toolkit 时(这是不久前),我的印象是它或多或少是可选的。我不会说 Silverlight Toolkit 也是如此。它添加了许多您自己难以实现的重要功能,虽然它不是没有错误的,但它非常可靠。我不能保证它的每一个方面,但我们在一个大型 Silverlight 项目(约 30K 行代码)中广泛使用它,我们发现它不可或缺。除非您知道您的项目会遇到的具体问题,否则我建议您重新考虑不使用它的决定。

于 2010-09-27T20:10:20.390 回答