从这个页面,我读到:
如果您的应用程序使用自定义控件并在 ResourceDictionary(或 XAML 资源节点)中定义资源,建议您在 Application 或 Window 对象级别定义资源,或者在自定义控件的默认主题中定义它们。在自定义控件的 ResourceDictionary 中定义资源会对该控件的每个实例产生性能影响。
好的......现在,我有一个定义以下资源的 UserControl:
<UserControl ...>
<UserControl.Resources>
<Namespace:ImagesConverter x:Key="ImagesConverter" ...
<Storyboard x:Key="AnimationHide" ...
</UserControl.Resources>
因此,正如 MSDN 教程所说,由于我在运行时创建了不少于 100 个实例,因此最好将这些资源移动到 MainWindow 或 App 级别。把他们搬到哪里最好?MainWindow 级别、App 级别还是资源文件?为什么?
然后......我怎样才能从他们的新位置使用它们?假设我的 UserControl 中有这段代码:
m_AnimationHide = (Storyboard)Resources["AnimationHide"];
我应该如何修改它以反映这些变化?我应该如何修改以下 UserControl XAML 片段?
Source="{Binding Source={x:Static Properties:Resources.MyImage}, Converter={StaticResource ImagesConverter}}"