WPF,请问这段XAML怎么理解?
<StackPanel>
<TextBlock Name="exText" Background="{DynamicResource {x:Static SystemColors.ActiveCaptionBrushKey}}" Height="30" FontSize="24">清泉石上流</TextBlock>
</StackPanel>
请问,上面这段代码,怎么理解呢?,我除了高度、字体、Name看得懂,....Background看不懂诶
------解决方案--------------------Background 是用了动态资源DynamicResource,动态资源又引用了系统本身静态的系统颜色SystemColors类中的ActiveCaptionBrushKey属性,用来获取用于的 SolidColorBrush 的 ResourceKey 绘制活动窗口的标题栏的背景。 参考MSDN SystemColors 类
------解决方案--------------------DynamicResource 表示那个属性是要查找动态资源,也就是运行时解析。DynamicResource 后面跟资源名,而这个资源名则是有另一个资源{x:Static SystemColors.ActiveCaptionBrushKey}提供,这里x:Static表示后面的SystemColors.ActiveCaptionBrushKey为静态属性。
最终的意思就是,以静态属性SystemColors.ActiveCaptionBrushKey的值(字符串)为Key,查找动态资源,设置给Background属性。
------解决方案--------------------
比如我有个字典:
Key:“白色”,Value:“White”
这里传递给Background的是Value部分,而不是Key部分,但是你那个ActiveCaptionBrushKey只能得到Key,而不是Value