C# 关于装订的使用:WPF纯色画笔
我有一个UserControl,它定义了如下网格:C# 关于装订的使用:WPF纯色画笔,c#,wpf,C#,Wpf,我有一个UserControl,它定义了如下网格: <Grid ClipToBounds="True" x:Name="GHeader" Grid.Row="0" Grid.Column="0" Background="{DynamicResource BrushRoomHeaderBackground}" > ResourceDictionary中定义了以下样式,这些样式在开始时加载: <SolidColorB
<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>
#FF9499C0
应该使用DynamicSource绑定还是StaticResource?
这里可能有内存泄漏吗 正如Manish所解释的,你应该看看他的链接,更好地理解静态和动态资源之间的区别 短篇故事是:
- 在加载XAML期间解析StaticResource(即使在应用程序运行之前也只解析一次)
- DynamicSource在运行时解析,如果源词汇发生更改,则将更新
因此,对于您来说,问题是:您是否计划在运行时更新您的词典,或者至少在网格声明之后定义了您的ressource?如果没有,请选择StaticResource以提高清晰度和性能。请参见此部分,代码后面不会更改solidcolorbrush和resourcedictionary中的颜色。它们仍然如定义所示。