我们有一个动态语言系统,不使用传统的资源文件;而是通过语言管理库从数据库中获取资源。基于遗留的(VB6)解决方案,它根据控件标签属性中的资源名称来进行控件本地化。在页面初始化后,我们会触发一个方法,该方法会对LayoutRoot及其子元素进行递归处理,将从标签查找到的字符串应用到控件上。这证明是笨重的,递归例程已经变成了一个庞然大物,以迎合不同控件的微妙之处,我想改用数据绑定来应用这些字符串。
我意识到我可以为每个控件声明要绑定的属性,但这将涉及大量代码,我希望有更好的方法。是否有一种方法可以绑定到一个方法,并传递参数。我设想一个类似于以下方法的方法。
我们的应用程序中已经有一个静态方法来进行这种检索,其签名如下。
能够直接使用这个功能将非常棒。
我意识到我可以为每个控件声明要绑定的属性,但这将涉及大量代码,我希望有更好的方法。是否有一种方法可以绑定到一个方法,并传递参数。我设想一个类似于以下方法的方法。
public string GetResource(string resourceName)
{
string resource = <fetch resource from language manager>;
if (String.IsNullOrEmpty(resource))
{
return resourceName;
}
else
{
return resource;
}
}
我们的应用程序中已经有一个静态方法来进行这种检索,其签名如下。
public static Resource(string resourceName, string defaultValue)
能够直接使用这个功能将非常棒。