我正在寻找一种方法来访问代码背后的toggleswitch属性值。 某些属性包含我要翻译的文本。为了实现这一点,我使用了网上有趣的功能。 带普通标签的示例:
List<Label> label_list = GetLogicalChildCollection<Label>(_contour.ContourGrid);
for (int i = 0; i < label_list.Count; i++)
{
if (Translator.HasProperty(label_list[i], "Content"))
{
var _valuefromProperty = label_list[i].GetType().GetProperty("Content");
string value = _valuefromProperty.GetValue(label_list[i], null) as string;
Translator.SetProperty(label_list[i], "Content", _translation.Translate(value));
}
}
但是当元素是使用框架MahApps开发的ToggleSwitch时,它不起作用。
我使用的代码与之前大致相同:
List<ToggleSwitch> toggle_list = GetLogicalChildCollection<ToggleSwitch>(_contour.ContourGrid);
for (int i = 0; i < label_list.Count; i++)
{
if (Translator.HasProperty(toggle_list[i], "OffLabel"))
{
var _valueOff = label_list[i].GetType().GetProperty("OffLabel");
string value_off_str = _valueOff.GetValue(toggle_list[i], null) as string;
Translator.SetProperty(label_list[i], "OffLabel", _translation.Translate(value_off_str));
var _valueOn = label_list[i].GetType().GetProperty("OnLabel");
string value_on_str = _valueOn.GetValue(label_list[i], null) as string;
Translator.SetProperty(label_list[i], "OnLabel", _translation.Translate(value_on_str));
}
}
变量_valueOff = null。你有什么想法吗?