Я добавляю список кнопок в коде, а также подписываюсь на их событие mouseleave. Для каждой кнопки, которую я подписываю на событие с анонимной функцией, проблема в том, что когда я запускаю приложение, все они подписываются на последнюю анонимную функцию. Вот код, надеюсь, я объяснил сам.
var modules = ModulesSC.GetAllMoudules();
var imageSet = ModulesSC.GetModuleImageSet();
foreach (var module in modules)
{
var btn = new Button();
btn.SetResourceReference(Control.TemplateProperty, "SideMenuButton");
btn.Content = module.Title;
btn.MouseEnter += (s, e) => { ShowInfo(module.Description); };
btn.MouseLeave += (s, e) => { HideInfo(); };
ModuleButtons.Children.Add(btn);
}
protected void HideInfo()
{
DescriptionLabel.Visibility = Visibility.Collapsed;
DescriptionText.Text = string.Empty;
}
protected void ShowInfo(string description)
{
DescriptionLabel.Visibility = Visibility.Visible;
DescriptionText.Text = description;
}
Когда я запускаю приложение, все они вызывают showInfo с помощью las "module.Description"
Спасибо
-Alejandro