我正在为Android和UWP创建Xamarin.Forms应用程序,并且我使用RESX文件在语言(默认为英语和阿拉伯语)之间切换,并且它正常工作。
语言切换是按钮Click事件按需运行的,
UWP中图像的路径为Assets/Images/en
,Assets/Images/ar
两个文件夹中的图像集相同,但名称相同,但加载的图像始终来自Assets/Images/en
。
RESX文件名为Resources.ar.resx和Resources.resx
我在PCL中的静态类中使用单个方法加载图像并在PCL中使用
public static ImageSource GetImageSource(string imageName)
{
return Device.OnPlatform(
iOS: ImageSource.FromFile("Images/" + imageName),
Android: ImageSource.FromFile(imageName),
WinPhone: ImageSource.FromFile("Assets/Images/" + imageName));
}
当我从INotifyPropertyChanged
实现中检测到语言更改时,我使用此方法。
我的问题是,当我更改语言时,控件的字符串工作正常,但图像不会发生变化,始终来自Assets/Images/en
。
我在Xamarin指南中关注了这两个链接的本地化和图像工作
如果有一个工作样本在运行时进行本地化并处理图像,那就太棒了。