Wpf 将UserControl动态添加到StackPanel

Wpf 将UserControl动态添加到StackPanel,wpf,silverlight,user-controls,add,stackpanel,Wpf,Silverlight,User Controls,Add,Stackpanel,我有一个UserControl,它有一些组件。我需要将此UserControl动态添加到StackPanel。如果我的数据库中有5个对象,我想将5个UserControl添加到此StackPanel 我尝试了以下方法: UserControl的XAML代码: <UserControl x:Class="Islem.TeknikDestek.UI.TD11" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x

我有一个UserControl,它有一些组件。我需要将此UserControl动态添加到StackPanel。如果我的数据库中有5个对象,我想将5个UserControl添加到此StackPanel

我尝试了以下方法:

UserControl的XAML代码:

<UserControl x:Class="Islem.TeknikDestek.UI.TD11"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="411" d:DesignWidth="600" xmlns:my="clr-namespace:Islem.Silverlight.Control;assembly=Islem.Silverlight.Control">

<Grid x:Name="LayoutRoot" Background="White">

    <--Components -->

</Grid>

和C#

void obj\u GetAllFAQCompleted(对象发送方,GetAllFAQCompletedEventArgs e)
{
如果(e.Error==null)
{
for(int i=0;i
之后,StackPanel显示用户控件,但UserControl中的所有组件都被禁用


我遗漏了什么?

我遗漏了什么?
-您遗漏了如何正确使用WPF。不鼓励在WPF中的过程代码中创建或操作UI元素,大多数情况下这是一个坏主意,完全是错误的。在WPF中实现基于项的UI的正确方法是使用ItemsControl而不是StackPanel?是的,
面板
只是一个面板。如果您需要一个基于项的UI,它可以显示许多项并使用适当的数据绑定,那么您需要一个带有适当的
项模板的
ItemsControl
。我建议您阅读我之前评论中的链接我在本文中找不到有关UserControl的内容。我想将UserControl页面添加到ItemsControl。我可以使用哪个数据绑定?无绑定,我已将页面添加到ItemsControl.Items列表中。我可以看到页面及其组件,但所有这些组件都已禁用。例如,我无法单击按钮。发布当前代码和XAML,包括用于填充UserControl和UserControl本身的数据。
    void obj_GetAllFAQCompleted(object sender, GetAllFAQCompletedEventArgs e)
    {
        if (e.Error == null)
        {
            for (int i = 0; i < e.Result.Count; i++)
                {
                    spQuestions.Children.Add(new TD11(e.Result[i]));
                }

        }
    }