Xamarin Forms ConverterParameter XAML 错误无效 属性 路径语法

Xamarin Forms ConverterParameter XAML error Invalid Property Path Syntax

我的 XAML 中有如下文本绑定:

Text="{Binding Converter={StaticResource ColumnToCaption}, ConverterParameter=-1}"

它只是获取列号并根据我存储在 collection 中的数据查找该列的标题。这一直工作正常,但在最后一组升级到 Visual Studio / Xamarin 表单后,XAML intelisense 开始生成错误“无效的 属性 值”。我没有多想,因为该应用程序似乎可以正常工作。然后一些奇怪的事情开始在我的应用程序中发生,我注意到在我的错误列表中,我列出了 43 个“无效 属性 值”错误(基本上我使用 ConverterParameter 的每个地方都有一个)。

我仔细检查了 MS 文档以确保没有任何更改(此 link https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/data-binding/converters)并且它仍然显示以数字形式传递值是可以的。这是 MS 文档中的示例:

 <Label Text="{Binding Red, Converter={StaticResource doubleToInt}, ConverterParameter=255,
     StringFormat='Red = {0:X2}'}" />

我只是想排除这是我问题的根源,但我似乎无法找到如何让错误消失。如有任何帮助,我们将不胜感激。

哦,这是转换器代码,您可以看到它:

public class ColumnToCaption : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        string ls_ReturnValue = ""; 
        try
        {
            if (System.Convert.ToInt32(parameter.ToString()) < 0)
            {
                if (App.gvm_AppSettings.AutoExpire)
                {
                    ls_ReturnValue = AppResources.Time;
                }
                else
                {
                    ls_ReturnValue = AppResources.CheckedIn;
                }
            }
            else
            {
                ls_ReturnValue = App.gvm_AppSettings.FormFieldCaptionText(Int32.Parse(parameter.ToString()));
            }
        }
        catch (Exception ex)
        {
            App.ProcessException(ex);
        }

        return ls_ReturnValue;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

能不能不要添加字符串资源?

...
<ContentPage.Resources>
    <ResourceDictionary>
        <converters:DoubleToInt x:Key="doubleToInt" />
        <x:String x:Key="twoFiveFive">255</x:String>
    </ResourceDictionary>
</ContentPage.Resources>
<ContentPage.Content>
...
    <Label Text="{Binding Red, Converter={StaticResource doubleToInt}, ConverterParameter={StaticResource twoFiveFive}}" .../>
...
</ContentPage.Content>