Ich bin neu in xamarin.formsxamarin.forms - eindeutig zu identifizieren Kontrollen in Listview in XAML
ich eine Listenansicht, die von Back-End-C# -Code gefüllt ist.
Ich habe ein Label und ein Bild definiert. Und ich habe x: Name Eigenschaft in XAML gegeben.
Nun, meine Frage ist, ich möchte diese beiden Etiketten im Back-End-C# -Code zugreifen. Beide Labels sind jedoch nicht zugänglich, da sie sich in der Listenansicht befinden. Wenn ich ein Label außerhalb von Listview setze, kann ich darauf im Code zugreifen.
Bitte vermeiden Sie Syntaxfehler. Mein Code funktioniert gut. Ich möchte auf diese Elemente zugreifen, damit ich den Stil für Telefon und Tablet ändern kann.
Meine XAML-Code:
// ...
<ListView x:Name="DentistList">
<Listview.ItemTemplate>
<DataTemplate>
<ViewCell>
<Image Source="{Binding ImagePath}" x:Name="DoctorImage"/>
<Label Text="{Binding Name}" x:Name="DoctorName" />
</ViewCell>
</DataTemplate>
</Listview.ItemTemplate>
</ListView>
Mein C# -Code:
......
DentistList.ItemSource = new List<Doctor>
{
// List of items defined here like...
Name = "ABC",
ImagePath = "img1.jpg"
// Etc...
};
Nun Unterhalb dieser Liste, ich möchte Stil ändern (wie Schriftgröße etc ...) von Etikett und Bild . Aber ich kann nicht auf sie zugreifen.
Ich versuchte, mit FindByName() -Methode auf sie zuzugreifen, konnte das aber nicht tun.
Also, kann jemand bitte antworten?
Vielen Dank im Voraus.
Sie können Steuerelemente in einer Vorlage nicht anhand des Namens referenzieren, da für jedes Steuerelement mehrere Instanzen vorhanden sind, eine pro Element in der Liste. Wenn Sie sie für Tablets anpassen möchten, verwenden Sie OnIdiom in Ihrem XAML oder verwenden Sie Styles. – Jason
Vielen Dank für den Kommentar @Jason, aber wie kann ich Schriftgröße und Textfarbe mit Onidiom ändern, weil ich keine Lösung finden konnte, um es zu implementieren. –