public object Convert(object[] rpValues, Type rpTargetType, object rpParameter, CultureInfo rpCulture)
{
if (rpValues[0] == DependencyProperty.UnsetValue || rpValues[1] == DependencyProperty.UnsetValue)
return string.Empty;
var rType = (ExtraStringResourceType)rpParameter;
var rID = (int)rpValues[0];
var rOriginalText = rpValues[1];
var rESR = (ExtraStringResources)rpValues[2];
if (rESR == null)
return rOriginalText;
var rTranslations = rESR.GetTranslations(rType);
if (rTranslations == null)
return rOriginalText;
string rTranslatedText;
if (!rTranslations.TryGetValue(rID, out rTranslatedText))
return rOriginalText;
return rTranslatedText;
}