WPF性能使用ResourceDictionary



在我的WPF应用程序中,我有很多XAML,所以我对在WPF中使用ResourceCtionalary时有点困惑,确实使用了它禁食或放慢了应用程序。

ex:说,我们有以下文本模块的样式,我们希望将其应用于我的应用程序中的许多TextBlock:

<Style TargetType="{x:Type TextBlock}" x:Key="MainText">
            <Setter Property="FontSize" Value="12" />
            <Setter Property="Height" Value="20" />
            <Setter Property="FontWeight" Value="Bold" />
            <Setter Property="FontFamily" Value="Droid Arabic Kufi" />
            <Setter Property="Foreground" Value="#FF383838"/>
            <Setter Property="HorizontalAlignment" Value="Center"/>
</Style>

什么是我的应用程序性能的最佳方法,在上面宣布了ResourceDictionary中的样式,并将其如下:

<TextBlock Style="{StaticResource MainText}" Text="Hello"/>

或重复每个样式(fontlakight,fontfamily,foreground ...)?

预先感谢

使用这种方式都没有性能差异。仅在初始化视图时才使用资源界面的性能菌株。造成压力的原因是因为它首先是向内看,然后向外看资源,直到找到该键的第一个。因此,如果资源处于控件中,则发现它的速度更快,然后将其搜索该控件的父搜索到窗口(通常是MainWindow),最后是应用程序。(这意味着越接近控制资源是它找到和使用的速度更快。但是,速度并不是问题。它确实在应用程序级别具有大量共享资源的应用中真正成为一个问题。)

有一些非常有效,巧妙的方法可以解决此约束,但是除非您的观点仅基于此,否则这不是问题。一旦呈现视图,它将直接引用源,并且没有更多的检查。现在,如果创建了控件,则在呈现视图时(例如ItemScontrol中的模板),并且模板正在引用这些资源,则列表可能会在更新和其他性质的其他内容时显示罚款。

>

要点...除非Resourscectionary在应用程序级别,并且您有很多。

,请不要担心性能。

相关内容

  • 没有找到相关文章

最新更新