1

Just starting out with C#, so this may be overly simple that I keep overlooking it... In the main window I have a stackpanel, named targetDocArea, that will hold controls. Based on user input, controls appear in the panel like so:

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);

Now I have another function that needs to interact with that control - and that's where I'm a bit lost. I would think there would be some index I could use to reference the children of the panel or directly using the name.

I've been reading about "this.registerName" but I'm not sure if that is correct way to approach this problem.

Any guidance would be greatly appreciated - and I wouldn't mind changing from a stackpanel to something more suited that would allow this interactivity.

Thanks.

1 Answer 1

2

You should store the control in a field in your class, like this:

private WebBrowser htmlView;

You can then use this field in any function.

If you need to store a number of copies of the control, you can use a List<WebBrowser> field, like this:

private List<WebBrowser> htmlViews = new List<WebBrowser>();

//Elsewhere:
htmlViews.Add(something);
Sign up to request clarification or add additional context in comments.

1 Comment

Thank you for the quick reply! Sure enough I was overlooking something simple. This does the trick. -edit (will accept answer after the 10min timer expires)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.