У меня возникли трудности с заполнением и отображением списка предложений XLabs.Forms.Control: AutoCompleteView. Я уже привязал наблюдаемую коллекцию в ViewModel к свойству предложений для autocompleteview xaml.Список предложений о включении xlabs Autocomplete view
В соответствии с моим кодом отладки (то есть просто циклом, который записывает содержимое, возвращаемое запросом на вывод отладки), мои запросы возвращают элементы, поэтому я думаю, что проблема заключается в том, чтобы просто показывать указанные элементы.
Вот код Xaml и ViewModel (класс магазина имеет StoreName свойство/поле)
XAML
<ContentPage.Resources>
<ResourceDictionary>
<DataTemplate x:Key="SugestionItemTemplate">
<ViewCell Height="60">
<ViewCell.View>
<StackLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<Label Text="{Binding StoreName}" VerticalOptions="Center" HorizontalOptions="Start" />
</StackLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ResourceDictionary>
</ContentPage.Resources>
<StackLayout HorizontalOptions="Center" Spacing="10">
<StackLayout.BindingContext>
<vm:CreateSaleViewModel />
</StackLayout.BindingContext>
<Label Text="Store" />
<controls:AutoCompleteView Placeholder="Type a store"
SuggestionItemDataTemplate="{StaticResource SugestionItemTemplate}"
Text="{Binding StoreQuery}"
ShowSearchButton="True"
SearchBackgroundColor = "White"
SearchCommand ="{Binding SearchCmd}"
Suggestions="{Binding StoreSuggestions}" />
</StackLayout>
ViewModel
class CreateSaleViewModel
{
// Query Variables
public string StoreQuery { get; set; }
// Query Suggestions
public ObservableCollection<Store> StoreSuggestions { get; private set; }
public ICommand SearchCmd { get; set; }
public CreateSaleViewModel()
{
SearchCmd = new Command(Search);
}
private async void Search()
{
StoreSuggestions = await App.AzureDataStore.SearchStoresAsync(StoreQuery);
}
}
Вы нашли решение для этого? Я также ищу решение. спасибо – batmaci
Я только что узнал, что здесь предложения отсутствуют "{Binding StoreSuggestions}" /> Mode = Twoway. Это должно быть так, что предложения = "{Binding StoreSuggestions, Mode = TwoWay}" – batmaci
еще не пробовал ответ Майкла Дэвиса. Наша команда решила использовать другую технологию вместо xamarin.forms – osse