我正在学习WPF,发现它的工作方式是完全不同的。我有以下XAML标记两个问题:关于WPF的一个基本问题
<Button x:name="test" BackGround="{StaticResource MyColor}" />
1)为什么X:叫什么名字?既然name是一个属性,那么为什么x应该是它的前缀。 x:name有什么特别的含义吗?
2)什么是StaticResource,StaticResource存储在哪里?
请详细解释。谢谢。
我正在学习WPF,发现它的工作方式是完全不同的。我有以下XAML标记两个问题:关于WPF的一个基本问题
<Button x:name="test" BackGround="{StaticResource MyColor}" />
1)为什么X:叫什么名字?既然name是一个属性,那么为什么x应该是它的前缀。 x:name有什么特别的含义吗?
2)什么是StaticResource,StaticResource存储在哪里?
请详细解释。谢谢。
x是XML名称空间的前缀。下面是本作的官方文档:XAML Namespaces and Namespace Mapping for WPF XAML
如果您想了解更多关于XML命名空间主题(无关XAML):http://wap.w3schools.com/xml/xml_namespaces.asp
静态资源是一种“标记扩展”,下面是官方文档再次:StaticResource Markup Extension
关于x:姓名您应该阅读this thread。
XAML分析器转换指令:
{StaticResource MyColor}
成C#代码:
Resource["MyColor"]
静态资源查找行为
- 查找过程检查中所要求的关键资源 dicti由 设置属性定义的元素。
- 查找过程然后向上遍历逻辑树,到父元素 元素及其资源字典。 这一直持续到达到根元素 。
- 接下来,检查应用程序资源。应用程序资源是 资源中的那些资源 字典,由您的WPF 应用程序的 应用程序对象定义。
简单,如果你在App.xaml中定义的东西,父母或电流控制的资源,你可以使用静态资源来查找那些拿到钥匙下的值。