Hello,
Welcome to our Microsoft Q&A platform!
I created a basic demo to test the function and faced the same problem. If I set binding from the same model class in MultiBinding as below, it would work as expected. When changing the value of the property, the IMultiValueConverter will be triggered to update the data.
<Label>
<Label.Text>
<MultiBinding Converter="{StaticResource _converter}">
<Binding Path="TestModel.Title" />
<Binding Path="TestModel.Content"/>
</MultiBinding>
</Label.Text>
</Label>
If using two different models in MultiBinding, there is nothing wrong with displaying the data. But IMultiValueConverter
will not reevaluates when the data is changed.
<Label >
<Label.Text>
<MultiBinding Converter="{StaticResource converter}">
<Binding Path="TestModel.Title" />
<Binding Path="TestModel2.Title"/>
</MultiBinding>
</Label.Text>
</Label>
In MultiBinding
class, the Bindings
property is of type IList<BindingBase>
. For the List<T>
, the type of list children should be the same. So Bindings
may not support to use different binding type, but the document doens't specify this directly. You could report this problem to the Xamarin.Forms github repo to get the result.
Best Regards,
Jarvan Zhang
If the response is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.