Warum kann ich das in WPF tun?Hinzufügen von Inhalt zu einer Schaltfläche klicken in wpf
button1Click.Content = "Hover over me";
oder
ToolTip t = new ToolTip();
t.Content = "Something helpful";
button1Click.Tooltip = t;
ich bevölkern meine Witwe mit Bestücken-Tasten auf der Initialisierung ich dann eine foreach-Schleife, die Tasten wie so fügt hinzu:
foreach (var routedEventHandler in new RoutedEventHandler[] { button1Click, button2Click, button3_Click })`
Jetzt Arten I in diesem Bereich anwenden zu den Tasten alles in einem gehen wie folgt:
public void populateButtons()
{
double xPos;
double yPos;
Random ranNum = new Random();
foreach (var routedEventHandler in new RoutedEventHandler[] { button1Click, button2Click, button3_Click })
{
Button foo = new Button();
Style buttonStyle = Window.Resources["CurvedButton"] as Style;
int sizeValue = 100;
foo.Width = sizeValue;
foo.Height = sizeValue;
xPos = ranNum.Next(200);
yPos = ranNum.Next(250);
foo.HorizontalAlignment = HorizontalAlignment.Left;
foo.VerticalAlignment = VerticalAlignment.Top;
foo.Margin = new Thickness(xPos, yPos, 0, 0);
foo.Style = buttonStyle;
foo.Click += routedEventHandler;
LayoutRoot.Children.Add(foo);
}
}
}
}
Aber
wenn ich versuche, dies:
private void button3_Click(object sender, RoutedEventArgs e)
{
((Button)sender).ToolTip = t;
}
Es wird nur aktiviert, wenn eine Taste gedrückt wird? (Danke @ H.B)
Jedoch, wenn ich den Tooltip Code in meinem bevöl Schaltflächen einfügen:
Random ranNum = new Random();
foreach (var routedEventHandler in new RoutedEventHandler[] { button1Click, button2Click, button3_Click })
{
Button foo = new Button();
ToolTip t = new ToolTip();
t.Content = "Something helpful";
foo.ToolTip = t;
Es funktioniert? Aber das Problem ist, dass alle Schaltflächen mit dem gleichen Tooltip und/oder Button-Inhalt gesetzt werden! was ich nicht will, aber ich kann einen Weg nicht finden?
Also zusammenfassen kann ich entweder alle Schaltflächen mit der gleichen Tooltip-Nachricht oder Schaltfläche Inhalt innerhalb "populateButtons()" oder ich kann Tooltips und Button Inhalt nur einstellen, wenn die Taste gedrückt wurde.
Gibt es keine Methode, die Inhalte zu einer benannten Schaltfläche hinzufügen kann?
Wie mein ersten Versuch:
button1Click.Content = "Home Button";
oder
button1Click.ToolTip = "Hover over me";
Warum auf der Erde kippen Sie Inhalte und Tooltips für bestimmte Tasten auf der Initialisierung eingestellt?
Warum in die Welt würde man über eine Sammlung von Handlern wie diese iterieren, frage ich mich ... –
http://stackoverflow.com/questions/9843718/randomly-assigned-buttons können Sie den Grund hier finden @HB –