Próbuję pobrać Xamarin Forms, aby wyświetlić listę na liście. Widziałem, jak inni ludzie mówią, że ListView zagnieżdżony w ListView nie jest obsługiwany. Próbowałem dodać kontrolę wewnątrz ListView i powiązać listę zagnieżdżoną z formantem, ale to zawsze powoduje awarię mojej aplikacji, gdy próbuję ją powiązać.Jak wyświetlić zagnieżdżoną listę elementów w Xamarin Forms?
Ja również okazało się, że niektórzy ludzie sugerują użycie zgrupowanie. Grupowanie DOES działa, jednak problemy, które znalazłem z tym, że nie mogę dotknąć sekcji grupowania. Również grupowanie nie będzie aktualizowane w czasie rzeczywistym (jest to wymagane).
Do końcowego wyniku, chciałbym coś tak prostego jak:
- ApartmentName1
- Adres
- Menedżer Numer telefonu
- Lokator 1, numer telefonu
- Lokator 2, numer telefonu
- Lokator 3, numer telefonu
- ApartmentName2
- Adres
- Ilość Menedżer Telefon
- Lokator 1, numer telefonu
- Lokator 2, numer telefonu
- Lokator 3, numer telefonu
Poniżej jest przykład obiekt, który chciałabym aby wyświetlić w moim projekcie Forms Xamarin.
public class Apartment
{
public string ApartmentName { get; set; }
public string Address { get; set; }
public string ManagerPhoneNumber { get; set; }
public List<Tenant> Tenants { get; set; }
}
public class Tenant
{
public string FullName { get; set; }
public string PhoneNumber { get; set; }
public DateTime ContractExpireDate { get; set; }
}
Tutaj jest XAML Próbowałem dostać się do pracy
<ContentView>
<StackLayout>
<ListView x:Name="apartmentListView" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<StackLayout VerticalOptions="StartAndExpand">
<StackLayout Orientation="Horizontal" BackgroundColor="Gray">
<Label HorizontalOptions="StartAndExpand" Text="{Binding ApartmentName}" />
<Label HorizontalOptions="End" Text="{Binding Address}" />
</StackLayout>
<Label Text="{Binding ManagerPhoneNumber}" />
<control:TenantViewTemplate Tenants="{Binding Tenants}" />
</StackLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentView>
Ja tylko próbuje pokazać listę, która zawiera listę. Jestem otwarty na wszelkie sugestie, jak to zrobić poprzez Xamarin Forms.
czy to jest odpowiedź czy zalecenie? –
Nie wierzę w to. Pisanie swojego interfejsu w XAML jest najlepszym podejściem, jeśli złapiesz niektóre książki, zobaczysz zalecenia. –
Przeczytaj książki kolega. To go nie zmienia. W końcu dopóki nie będzie edytora WYSIWYG XAML nie ma żadnych zalet w stosunku do czystego kodu. 1. Działa wolniej. 2. Rozwój nie ma debuggera i małej intellisense. 3. Jest bardziej szczegółowy niż kod, zakładając, że utrzymujesz swój kod w czystości. Takie sytuacje pojawiają się cały czas i jeśli OP użył C# do rozpoczęcia tego, nigdy nie byłby to problem. – David