【问题标题】:Flex 3 DataGridColumn HeaderText LocalizationFlex 3 DataGridColumn HeaderText 本地化
【发布时间】:2009-02-05 17:07:00
【问题描述】:

我正在使用 Flex 3 中的 ResourceBundle 在多语言应用程序中工作。我在 DataGrid 中显示数据并像这样定义 DataGridColumn headerText

headerText="{localizedHeaderText('LABEL_USER_NAME')}

此函数返回用户名的本地化标签,但是当我动态选择另一种语言时,会刷新但 headerText 标签?

有什么想法吗?

谢谢

【问题讨论】:

    标签: apache-flex actionscript-3 actionscript flex3 localization


    【解决方案1】:

    除非您使localizedHeaderText 方法可绑定,否则将永远不会重新评估绑定,因为它不知道resourceManager 的更改事件。

    假设您在 UIComponent 子类中,您需要执行以下操作:

    1. 覆盖 resourcesChanged 并调度自定义事件
    2. 在方法上方添加[Bindable(event="customEvent")]

    示例代码:

    override protected function resourcesChanged():void {
        super.resourcesChanged();
        dispatchEvent(new Event("localeChange"));
    }
    

    和

    [Bindable(event="localeChange")]
    public function localizedHeaderText(key:String):String {
        return resourceManager.getString('resources', key);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多