2013-08-10 2 views
1

Мне нужно создать и добавить некоторые элементы во всплывающее окно. Это легко сделать это в XAML:Добавить элементы во всплывающее окно программно

<Popup StaysOpen="False"> 
    <DockPanel> 
     //Items here 
    </DockPanel> 
</Popup> 

Я думаю, что «ребенок», где мне нужно, чтобы добавить мои детали, но я не вижу «Добавить», «Элементы», «Источник» или «Содержимое» внутри. Кто-нибудь знает как это сделать?

Popup myPopup= new Popup(); 
myPopup.Child // ... need to add items there 
+2

Пытался установить, например, StackPanel, как ребенок, а затем добавить элементы в эту StackPanel? – fex

+0

Являются ли элементы для добавления всегда одинаковыми? То есть такой же контроль с использованием только разных данных? Или полностью разные элементы управления, определенные во время выполнения? – Alejandro

+0

Предложение fex помогло мне. благодаря – Sturm

ответ

3

Popup является FrameworkElement и может иметь только одного ребенка (Child) => Вы не можете добавить несколько элементов управления внутри, но вы можете установить ребенка быть любой UIElement вы хотите. Например, DockPanel, а не использовать AddChild на панели, чтобы добавить дополнительные элементы управления.

myPopup.Child = new DockPanel(); 
0

Вы должны установить дочерний элемент PopUp в DockPanel, а затем добавить детей в DockPanel.

Вот код, который показывает, что:

var popup = new Popup(); 
    var dockPanel = new DockPanel(); 
    popup.Child = dockPanel; 
    dockPanel.Children.Add(new TextBox {Text = "First Child" }); 
    popup.IsOpen = true; 
Смежные вопросы