在我的应用程序中,我在运行时生成多个按钮并将其添加到网格中,如下所示
for (int i = 0; i < ListOfMainCategories.Count; i++)
{
clsMainCategory tempCat = (clsMainCategory)ListOfMainCategories[i];
ButtonMainMenuCat btn = CreateMainButton(tempCat.CatTitle, i);
btn.Margin = new Thickness(0, 1, 0, 1);
btn.TabIndex = TabIndexNo;
if (i == 0)
{
buttonHomeMenu = btn;
}
btn.AddHandler(ButtonMainMenuSubSubCat.GotKeyboardFocusEvent, new RoutedEventHandler(ButtonMainMenuGotFocus), handledEventsToo: false);
// stackTableViewMainMenu.Children.Add(btn);
Grid.SetRow(btn, 1);
Grid.SetColumn(btn, i + 1);
gridHeader.Children.Add(btn);
}
在特定事件之后,我从Grid中删除了所有这些按钮。
gridHeader.Children.RemoveRange(0, gridHeader.Children.Count);
在这里我想我还需要从内存中删除或处理或卸载这些按钮。那我该怎么做呢?请建议
答案 0 :(得分:1)
btn.RemoveHandler
。
您可以在此处查看有关WeakEvent模式的MSDN指南:http://msdn.microsoft.com/en-us/library/aa970850