Почему я не могу сделать это в wpf?
button1Click.Content = "Hover over me";
или
ToolTip t = new ToolTip();
t.Content = "Something helpful";
button1Click.Tooltip = t;
Я заполняю свою вдову кнопками заполнения при инициализации. Затем у меня есть цикл foreach, который добавляет кнопки примерно так::
foreach (var routedEventHandler in new RoutedEventHandler[] { button1Click, button2Click, button3_Click })`
Теперь в этой области я применяю стили к кнопкам «все в одном»:
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);
}
}
}
}
Но когда я пытаюсь это сделать:
private void button3_Click(object sender, RoutedEventArgs e)
{
((Button)sender).ToolTip = t;
}
Активируется только при нажатии кнопки?(Спасибо @HB)
Однако, когда я вставляю код всплывающей подсказки в мои заполненные кнопки:
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;
Это работает?Но проблема в том, что при таком способе все кнопки будут иметь одинаковую подсказку и / или содержимое кнопок!что я не хочу, но я не могу найти способ обойти это?
Таким образом, чтобы подвести итог, я могу либо установить все кнопки с одинаковым сообщением всплывающей подсказки, либо содержимое кнопки внутри "populateButtons ()", или я могу установить только подсказкисодержание кнопки, когда кнопка была нажата.
Нет ли способа, позволяющего добавить контент к названной кнопке?
Как и моя первоначальная попытка:
button1Click.Content = "Home Button";
или
button1Click.ToolTip = "Hover over me";
С какой стати вы не можете установить содержимое и всплывающие подсказки для определенных кнопок при инициализации?