У меня есть StackPanel с именем "MainContent".
Я могу динамически заполнить его такими элементами UIE, как:
TextBlock textBlock = new TextBlock();
textBlock.Text = String.Format("This is text");
textBlock.Background = new SolidColorBrush(Colors.Beige);
MainContent.Children.Add(textBlock);
Button button = new Button();
button.Content = "This is a button";
MainContent.Children.Add(button);
Но я хочу пойти дальше и заполнить ее парой XAML / Codebehind (например, страница или окно):
Type type = this.GetType();
Assembly assembly = type.Assembly;
Window window = (Window)assembly.CreateInstance(String.Format("{0}.{1}", type.Namespace, "Test1"));
MainContent.Children.Add(window);
Но приведенный выше код жалуется, что я не могу добавить «Окно в визуал». Я могу сделать window.ShowDialog (), конечно, но это внешнее по отношению к моему главному окну.
Я хочу, чтобы окно Test1 было встроенным в моем приложении.
Как я могу это сделать?
Добавлено: Основной вопрос: как я могу заставить Window (или Page) действовать как UIElement, чтобы я мог динамически встраивать их в StackPanels и т. Д. * кто-нибудь сталкивался с этим?