Я установил пакет NuGet, содержащий несколько пользовательских элементов управления Xamarin.Forms, и добавил его CardStackView в шаблон приложения Xamarin.Forms по умолчанию в ItemsPage.xaml
со следующим фрагментом XAML
<swipecards:CardStackView
x:Name="CardStackView"
ItemsSource="{Binding Items}">
<swipecards:CardStackView.ItemTemplate>
<DataTemplate>
<StackLayout Padding="10">
<Label Text="{Binding Text}" LineBreakMode="NoWrap" Style="{DynamicResource ListItemTextStyle}" FontSize="16" />
<Label Text="{Binding Description}" LineBreakMode="NoWrap" Style="{DynamicResource ListItemDetailTextStyle}" FontSize="13" />
</StackLayout>
</DataTemplate>
</swipecards:CardStackView.ItemTemplate>
</swipecards:CardStackView>
При запускеоднако в приложении я получаю исключение «Неоднозначное соответствие» в сгенерированном коде ItemsPage.xaml.g.cs
в следующей строке:
CardStackView = global::Xamarin.Forms.NameScopeExtensions.FindByName<global::SwipeCards.Controls.CardStackView>(this, "CardStackView");
Я действительно не уверен, как отладить это.Я что-то не так делаю?Судя по названию исключения, похоже, что код перепутан с тем, к какому из двух разных объектов он должен получить доступ ... В ItemsPage.xaml.cs
есть предупреждение о том, что существует двусмысленность, из-за которой необходимо вызвать метод InitializeComponent()
.