关于装订的使用:WPF纯色画笔

本文关键字:WPF 纯色 画笔 于装订 | 更新日期: 2023-09-27 18:00:34

我有一个UserControl,它定义了一个网格,如下所示:

<Grid ClipToBounds="True"
      x:Name="GHeader"
      Grid.Row="0"
      Grid.Column="0"
      Background="{DynamicResource BrushRoomHeaderBackground}"
      >

ResourceDictionary中定义了以下样式,这些样式在开始时加载:

<SolidColorBrush x:Key="BrushRoomHeaderBackground" 
                 Color="{DynamicResource ColorPassive}"
                 /> 
<Color x:Key="ColorPassive">#FF9499C0</Color>

应该使用DynamicResource绑定还是StaticResource?这里可能有内存泄漏吗?

关于装订的使用:WPF纯色画笔

正如Manish所解释的,您应该查看他的链接,以便更好地了解静态和动态资源之间的区别。

短篇小说是:

  • StaticResource在加载XAML期间解析(即使在应用程序运行之前也只能解析一次)
  • DynamicResource在运行时解析,并且在源dictionary更改时将更新

所以对你来说,问题是:你是否计划在运行时更新你的dictionary,或者至少你的资源是在网格声明之后定义的?如果没有,请选择StaticResource以获得清晰度和性能。