2013-08-16 18 views
2

我似乎無法刪除運行時生成的按鈕。無法刪除WPF中運行時生成的控件

下面是生成按鈕的代碼:

void testArea(Object s, RoutedEventArgs e) 
    { 
     System.Windows.Controls.Button myButton = new System.Windows.Controls.Button(); 
     myButton.Name = "runtimeGeneratedButton"; 
     myButton.Content = "deleteMe"; 
     myButton.Click+= new RoutedEventHandler(deleter); 
     operationsPannel.Children.Add(myButton); 
    } 

而這裏的是應該刪除生成按鈕的代碼:

private void deleter(object s, RoutedEventArgs args) 
    { 
     operationsPannel.Children.Remove(operationsPannel.FindName("runtimeGeneratedButton") as System.Windows.Controls.Button); 
    } 

回答

1

對於您在代碼中創建,如果你想控制通過名字找到他們,你需要RegisterName在當前名稱範圍:

operationsPannel.Children.Add(myButton); 
operationsPannel.RegisterName("runtimeGeneratedButton", myButton); 

這是由XAML解析器自動完成的

+0

非常感謝dkozl! :) –