コードにボタンのリストを追加し、それらの 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;
}
アプリを実行すると、すべて「module.Description」で showInfo が呼び出されます
ありがとう -アレハンドロ