AppResources,动态查找变量
本文关键字:变量 查找 动态 AppResources | 更新日期: 2023-09-27 17:50:20
我正在使用MVVM开发一个windows phone应用程序,我想使用AppResources作为字符串的数据库,这以后使我能够本地化应用程序。我有一个加载弹出窗口,在那里我显示一些提示。
所以我的数据库是类似于- tip_1记得跑
- tip_2当心
- tip_3等等
我现在使用一个开关箱,它随机取一个数字,然后显示提示。但这意味着每次我向数据库AppResources添加新条目时。我得更新开关。我想在AppResources中搜索,因为动态变量名是不可能的。
我在想这样的伪代码
Random rnd = new Random();
int TipMax = Convert.ToInt32(AppResources.TipCount);
int i = rnd.Next(1, TipMax);
BoundVariable = Resources(String.Concat("Tip_",i.ToString());
但是我没能做到,有人有解决办法吗?
额外我找到了ResourceManager类,它也存在于Windows Phone中,但无法使其工作。
注意正确答案如下,你应该记住为Random()设置最小值。next (min,total);仅供参考:)
您应该能够像这样使用ResourceManager
类和GetString
方法:
var total = int.Parse(AppResources.ResourceManager.GetString("tip_total"));
// generate random number
var number = new Random().Next(total);
var tip = AppResources.ResourceManager.GetString("tip" + number);
这将假设您有一个名为"tip_total"的资源,其中包含您存储的"tips"的总数。您也可以通过迭代来"计数"它们,直到GetString
返回null
(当没有找到资源时它会这样做)。
将上面的AppResources
替换为您在手机应用程序中的资源文件名