бился с такой же проблемой и не получить данных, которые я хотел. Вы не можете привязываться к «конвертерному параметру», то есть как это делается на текущей дате. Но я действительно хотел получить какие-то данные, отправленные в параметр. поэтому я нашел простое, но работающее решение, и я надеюсь, что он может работать и на вас. Начните с предоставления CompareTo x: Name = "CompareTo" или того, что вы хотите назвать.
<Element
Attribute="{Binding Value,
Converter={StaticResource EqualityConverter},
ConverterParameter={x:reference CompareTo}}" />
Выполнение x: ссылку на фактическую отправку некоторых данных сейчас, вам просто нужно его захватить. Для меня значение, которое мне нужно, было значением «string», чтобы я мог выполнять определенные инструкции «If». Таким образом, вы могли бы сделать что-то похожее на:
if(CompareTo == "myCoolString")
{
Value = "Well i guess i'm not so cool!"
}
Это, как я получил мои данные из параметра:
public class MyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (parameter != null)
{
try
{
var image = parameter as Image;
var src = image.Source as FileImageSource;
if (src.File.ToString() == "coolimage.png")
{
return "thumbsup.png";
}
}
catch
{
}
}
}
В моем случае я работал с и изображениями и необходимо, чтобы, если одно изображения знать было «A», затем «B», чтобы изменить изображение «C». Это должно работать и с другими объектами. Немного повезло, это приблизит вас к некоторому упрощенному «Multibinding» и ответу.
Надеюсь, это было полезно, поскольку это был мой первый пост в Stackoverflow!
Я проигнорировал это, потому что речь идет о Xamarin Forms (см. Теги в OP). Код, который вы опубликовали, не работает с Xamarin, потому что 1) у Xamarin нет элемента управления TextBox, он называется Label и 2) Xamarin не поддерживает MultiBinding.Я не понимаю, почему этот ответ был принят, потому что он даже не отвечает на этот вопрос. –
Что положить в 'ConvertBack'? Я не могу восстановить все свойства. – Ozkan