public void Button_Click(object sender, RoutedEventArgs e)
{
TextBlock authorText = new TextBlock();
authorText.Text = "Saturday Morning";
authorText.FontSize = 12;
authorText.FontWeight = FontWeights.Bold;
authorText.PreviewMouseDown += new MouseButtonEventHandler(test1);
authorText.Visibility = System.Windows.Visibility.Collapsed;
Grid.SetColumn(authorText, 0);
sp_s.Children.Add(authorText);
}
void sampleDropDown(object sender, RoutedEventArgs e)
{
}
我希望能够在 sampleDropDown 事件处理程序中访问 authorText 对象。 将对象声明移出Button_Click方法的范围不是一个有效的解决方案,因为我需要通过每次单击按钮创建一个新对象。
我需要通过每次单击按钮创建一个新对象
如果确实需要一个新对象,仍然可以在类级别保存对集合中每个对象的引用。然后,在每个Button_Click
处理程序中创建一个新对象并将其添加到列表中。
List<TextBlock> authorTextList = new List<TextBlock>();
public void Button_Click(object sender, RoutedEventArgs e)
{
TextBlock authorText = new TextBlock();
authorTextList.Add(authorText);
/// ...
}
void sampleDropDown(object sender, RoutedEventArgs e)
{
/// ... access List objects here as desired
}
但看起来您可能已经有一个 authorText 对象列表:
sp_s.Children.Add(authorText);
对authorText
的引用在sp_s.Children
中举行。 除非在sampleDropDown()
处理程序中需要引用之前删除引用,否则您可能可以在那里访问它。