以编程方式将项目添加到弹出窗口

Stu*_*urm 4 c# wpf popup

我需要创建一些项目并将其添加到弹出代码隐藏中。在 XAML 中很容易做到这一点:

<Popup StaysOpen="False">
    <DockPanel>
        //Items here
    </DockPanel>
 </Popup>
Run Code Online (Sandbox Code Playgroud)

我认为“孩子”是我需要添加项目的地方,但我在里面看不到任何“添加”、“项目”、“来源”或“内容”。有谁知道如何做到这一点?

Popup myPopup= new Popup();
myPopup.Child // ... need to add items there
Run Code Online (Sandbox Code Playgroud)

pet*_*ter 5

Popup 是一个 FrameworkElement 并且只能有一个子元素(Child) => 你不能在里面添加多个控件,但是你可以Child设置为你想要的任何 UIElement。例如 DockPanel,然后在面板上使用 AddChild 添加更多控件。

myPopup.Child = new DockPanel();
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以将 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;
Run Code Online (Sandbox Code Playgroud)