A) 如果我有一个需要从用户控件中使用的资源,从性能方面来说,哪种更好?是将其包含在用户控件范围内还是从app.xaml引用该资源?
B) 现在我们有所有100多个样式都从app.xaml引用。将它们移动到各自的用户控件中是否值得努力?
A) 如果我有一个需要从用户控件中使用的资源,从性能方面来说,哪种更好?是将其包含在用户控件范围内还是从app.xaml引用该资源?
B) 现在我们有所有100多个样式都从app.xaml引用。将它们移动到各自的用户控件中是否值得努力?
总的来说,这取决于应用程序范围内资源重用的级别。如果资源被广泛重用,则将其放置在应用程序资源中。如果您只想在一个UserControl中使用样式,并且不在其他地方使用它,则将此样式放置在app.xaml中将会过度冗余。我认为即使资源仅用于2-3个页面,最好也将其放置在每个页面中。
从性能角度来看,我认为您没有那么多的资源会影响性能。
以下是可以帮助您提高加载时间的文章:
更新:
MSDN在许多情况下都是有帮助的。阅读本文后,您将获得许多问题的答案:资源字典
描述资源
性能问题的文章:Silverlight XAML性能问题和共享资源。
我会把它放在最合适的地方。如果它是在多个地方使用或者可能被多次使用的东西,那么就把它放在app.xaml中。如果它非常特定于某个页面/用户控件/窗口,那么就把它放在那里。