【发布时间】:2021-01-22 10:24:48
【问题描述】:
我正在尝试将 MultiBinding 与 Xamarin.Forms 4.8 一起使用,但无法正常工作。我有这个非常简单的转换器:
public class QuantityLabelConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
return "Hello World";
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
我正在尝试在 XAML 标签中使用它,如下所示:
<Label>
<Label.Text>
<MultiBinding Converter="{StaticResource QuantityLabelConverter}">
<Binding Path="SelectedQuantity" />
<Binding Path="OutstandingQuantity" />
</MultiBinding>
</Label.Text>
</Label>
现在,当我调试时,我可以看到转换器被调用了 3 次:一次有两个空值,然后是设置 SelectedQuantity 值时的另一次,最后一次是分配 OutstandingQuantity 值时。所以绑定和转换器之间的链接似乎工作正常。
但是,页面崩溃并且我得到一个“值不能为空。\n参数名称:元素”System.ArgumentNullException。
如果我用简单的 XAML 替换以前的 XAML
<Label Text="Hello World">
页面显示没有问题,所以MultiBinding的设置方式有问题,但我不知道是什么...
【问题讨论】:
-
嗨,有更新吗?
-
嗨卢卡斯,很抱歉耽搁了这么久,直到今天我才有机会回到这个问题......今天它可以正常工作了????。我刚刚重新应用了上周隐藏在 git 中的代码,所以......要么是在我发布问题后发布的 XF 更新修复了它(这似乎很可能),要么我第一次犯了一个愚蠢的错误,然后搞砸了测试/尝试修复我的代码(这也是可能的)。非常感谢您的帮助,我会将您的答案标记为解决方案,因为我相信您的详细示例将对开始使用 MultiBinding 的其他人有所帮助。
标签: c# xaml xamarin.forms multibinding