Ich habe eine Schaltfläche, die jedes Mal ein Label erstellt, sagen wir, ich habe es 10 Mal geklickt, so jetzt habe ich 10 Etiketten erstellt . Wie lösche ich ein zufälliges Etikett, auf das ich tippe?Wie lösche ich ein ausgewähltes Etikett aus mehreren Etiketten in einer Anwendung mit tapGesture (Xamarin.Forms)
PS: my labels are added to a stackLayout
Die Idee meiner Anwendung ist es, eine To-do-Liste zu erstellen. Ich habe ein Eingabefeld und einen Knopf. Ich tippe was ich machen möchte in das Eingabefeld, klicke dann auf den Button und ein Label wird erstellt mit dem ich gerade den Eintrag eingegeben habe. Wenn ich mit etwas fertig bin, das ich auf ein bestimmtes Label tippen und entfernen möchte, wie ist das möglich? Irgendeine Hilfe?
Code:
var entry = new Entry();
entry.Placeholder = "type here";
entry.BackgroundColor = Color.White;
entry.PlaceholderColor = Color.Gray;
var newButton = new Button { Text = "+", BackgroundColor = Color.Purple, FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Button)), };
StackLayout stackLayout = new StackLayout();
stackLayout.Children.Add(entry);
stackLayout.Children.Add(newButton);
this.Content = stackLayout;
var tapGestureRecognizer = new TapGestureRecognizer();
tapGestureRecognizer.Tapped += labelClick;
newButton.Clicked += (sender, args) => { label = new Label();
label.BackgroundColor = Color.White;
label.TextColor = Color.Black;
label.Text = entry.Text;
entry.Text = "";
stackLayout.Children.Add(label);
label.GestureRecognizers.Add(tapGestureRecognizer);
bitte, könnten Sie ein Code-Beispiel von dem, was Sie bisher versucht haben, hinzufügen? – giacomelli
var entry = neuer Eintrag(); entry.Placeholder = "hier eingeben"; entry.BackgroundColor = Color.White; entry.PlaceholderColor = Color.Gray; var NewButton = new Button { Text = "+", Background = Color.Purple, Fontsize = Device.GetNamedSize (NamedSize.Small, typeof (Button)), }; StackLayout stackLayout = new StackLayout(); stackLayout.Children.Add (Eintrag); stackLayout.Children.Add (newButton); this.Content = StapelLayout; –
var tapGestureRecognizer = new TapGestureRecognizer(); tapGestureRecognizer.Tapped + = labelClick; newButton.Clicked + = (Absender, Argumente) => { label = new Label(); label.BackgroundColor = Color.White; label.TextColor = Farbe.Black; label.Text = Eintrag.Text; entry.Text = ""; stackLayout.Children.Add (Label); label.GestureRecognizers.Add (tapGestureRecognizer); }; –