If I well understood, you just need one attribute more in your class, something like ValueAorB. With a getter which will do the work your Converter does and a setter a bit more complicated.
public object ValueAorB
{
get
{
if (values[0] != DependencyProperty.UnsetValue && values[0] != null && !string.IsNullOrEmpty(values[0].ToString()))
{
Debug.WriteLine("values 0: " + values[0]);
return values[0].ToString();
}
if (values[1] != DependencyProperty.UnsetValue && values[1] != null && !string.IsNullOrEmpty(values[1].ToString()))
{
Debug.WriteLine("values 1: " + values[1]);
return values[1].ToString();
}
}
}
Don't forget to make it raises the PropertyChanged event.
And with that:
And a ConvertBack method (which never gets called):
May be you don't need a setter. Think about it. A two way will be more complicated and you don't even need it. In addition, I think you could do it with your own method if you were trying to make it one way.