Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用ObservableCollection绑定到自动完成selecteditem_C#_Xamarin_Mvvm_Xamarin.forms_Syncfusion - Fatal编程技术网

C# 如何使用ObservableCollection绑定到自动完成selecteditem

C# 如何使用ObservableCollection绑定到自动完成selecteditem,c#,xamarin,mvvm,xamarin.forms,syncfusion,C#,Xamarin,Mvvm,Xamarin.forms,Syncfusion,我目前正在从syncfusion实现自动完成框。当前选择模式设置为Token <autocomplete:SfAutoComplete x:Name="autoComplete" DisplayMemberPath="Location" MultiSelectMode="Token" HeightRe

我目前正在从syncfusion实现自动完成框。当前选择模式设置为
Token

<autocomplete:SfAutoComplete x:Name="autoComplete"
                                DisplayMemberPath="Location"
                                MultiSelectMode="Token"
                                HeightRequest="120"
                                HorizontalOptions="FillAndExpand"
                                TokensWrapMode="Wrap" 
                                SelectedItem="{Binding SelectedLocation}"
                                DataSource="{Binding FilteredLocations}"                                                   
                                Text="{Binding SearchLocation, Mode=TwoWay}" >
</autocomplete:SfAutoComplete>
但我不希望类型是object,我将其更改为
ObservableCollection
,SelectedLocation不再被拾取。当selecteditem是一个集合时,我可以得到一些提示或建议来正确绑定到它吗

我试过的都没用

public ObservableCollection<SearchItem> SelectedLocation
{
    get { return _selectedLocation; }
    set
    {
        SetProperty(ref _selectedLocation, value);
    }
}
public observeablecollection selected位置
{
获取{return\u selectedLocation;}
设置
{
SetProperty(参考所选位置、值);
}
}

在OP澄清后编辑:

看起来您必须使用
ObservableCollection
使其工作。如果您希望访问单个SearchItem对象,则需要一种机制来调用另一个方法或属性setter并在那里强制转换项

public ObservableCollection<object> SelectedLocation
{
    get { return _selectedLocation; }
    set
    {
        SetProperty(ref _selectedLocation, value);
    }
}
public observeablecollection selected位置
{
获取{return\u selectedLocation;}
设置
{
SetProperty(参考所选位置、值);
}
}

有关如何使用
observateCollection
然后将结果转换为字符串(或在您的情况下转换为
SearchItem
)的完整示例,请参阅以下知识库文章:。它与您的用例的比例不是1:1,但应该足以继续进行。

很抱歉,也许我的措辞不好,我正在尝试绑定到ObservableCollection,而不是单个选定项。啊,对了,我错过了Tokens部分。让我再看看。编辑了@PhoenixThanks的帖子,很有效。很奇怪,我必须投,但那就行了。非常感谢。
public ObservableCollection<SearchItem> SelectedLocation
{
    get { return _selectedLocation; }
    set
    {
        SetProperty(ref _selectedLocation, value);
    }
}
public ObservableCollection<object> SelectedLocation
{
    get { return _selectedLocation; }
    set
    {
        SetProperty(ref _selectedLocation, value);
    }
}