【问题标题】:How do I get the namespace prefix?如何获取命名空间前缀?
【发布时间】:2012-09-17 21:21:07
【问题描述】:

有没有办法从类或类实例(不是 XML 的对象)中获取命名空间前缀?例如,在 MXML 中,您可以将某些内容声明为 s:Button 或 local:MyComponent。是否有一些调用或方法会在给定对象时返回“s”或“local”值?

例如,如果我有 TextInput 类并且我想在运行时显示样式继承,我可以这样做:

s|TextInput {

   fontFamily:Arial;
}

s|TextArea#myTextArea {

   color:red;

}

local|MyComponent.myBoldStyle {
   fontWeight: bold;

}

【问题讨论】:

  • 您自己在文档顶部定义前缀。它们可以是你想要的任何东西。它必须slocal。你到底想要达到什么目的?
  • 这些是编译时间值;您在运行时无法做的任何事情都不会为您提供这些值。除非您将源代码加载为 XML 文档并将其处理为 XML。
  • 好吧,我已经弄清楚了如何查找样式继承,所以我希望能够在跟踪它们时显示带有 s|TextInput 或 local|MyComponent 的类的 CSS 类型声明到控制台。如果你们有兴趣,我将上传课程工具(或将其发布到我发布的其他问题)。
  • @www.Flextras.com 建议的内容也适用于 CSS 文档:我相信您唯一的选择是解析 CSS 文件。
  • @www.Flextras.com - 您可以添加您的评论作为答案吗?谢谢

标签: apache-flex flex4.5


【解决方案1】:

命名空间是编译时值。除非您将源代码加载为 XML 文档并将其作为 XML 处理,否则您将无法在运行时检索这些值

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2011-03-04
    • 1970-01-01
    相关资源
    最近更新 更多