刚开始使用C#,所以这可能过于简单,我一直在忽视它...... 在主窗口中,我有一个名为targetDocArea的stackpanel,它将保存控件。 根据用户输入,控件显示在面板中,如下所示:
var htmlView = new System.Windows.Controls.WebBrowser();
htmlView.MinHeight = 200;
htmlView.Height = deskHeight - 225;
htmlView.Name = "targetDocControl";
htmlView.Navigate(dlg.FileName);
this.targetDocArea.Children.Add(htmlView);
现在我有另一个需要与该控件交互的函数 - 这就是我有点迷失的地方。我认为可以使用一些索引来引用面板的子节点或直接使用名称。
我一直在阅读“this.registerName”,但我不确定这是否是解决此问题的正确方法。
任何指导都会非常感激 - 我不介意从堆叠面板转换到更适合这种交互的东西。
感谢。
答案 0 :(得分:2)
您应该将控件存储在类中的字段中,如下所示:
private WebBrowser htmlView;
然后,您可以在任何功能中使用此字段。
如果您需要存储控件的多个副本,可以使用List<WebBrowser>
field,如下所示:
private List<WebBrowser> htmlViews = new List<WebBrowser>();
//Elsewhere:
htmlViews.Add(something);