我正在学习WPF并发现它的工作方式完全不同。关于以下XAML标记,我有两个问题:
<Button x:name="test" BackGround="{StaticResource MyColor}" />
1)为什么x:名字?由于name是一个属性,那么为什么x应该是它的前缀。 x:name?
有什么特别的含义吗?2)什么是StaticResource,StaticResource存储在哪里?
请详细说明。感谢。
答案 0 :(得分:2)
x是XML命名空间的前缀。以下是官方文档:XAML Namespaces and Namespace Mapping for WPF XAML
如果您想要更多关于XML名称空间主题(与XAML无关):http://wap.w3schools.com/xml/xml_namespaces.asp
StaticResource是一个“标记扩展”,这里是官方文档:StaticResource Markup Extension
答案 1 :(得分:1)
关于x:您应该阅读的姓名this thread。
Xaml解析器转换指令:
{StaticResource MyColor}
这样的C#代码:
Resource["MyColor"]
静态资源查找行为
- 查找过程检查资源中请求的密钥 由元素定义的字典 设置财产。
- 然后,查找过程将逻辑树向上遍历到父级 元素及其资源字典。 这一直持续到根元素 到达了。
- 接下来,检查应用程序资源。应用资源是 资源中的那些资源 由...定义的字典 WPF的应用程序对象 应用
醇>
如果您在App.xaml,父级或当前控件资源中定义了一些内容,您可以使用StaticResource查找那些以获取密钥下的值。