WPF:添加到UserControl';受辐射的儿童

WPF:添加到UserControl';受辐射的儿童,wpf,binding,user-controls,children,Wpf,Binding,User Controls,Children,我有一个用户控件,它允许通过公开网格的Children属性向其中添加项。我添加的任何控件都可以正常显示,但当我尝试将添加项上的属性绑定到主窗口中的控件时,什么都不会发生(示例): 有什么想法吗?这是一个范围问题吗?我知道由于范围错误,我无法命名添加到子元素的元素。谢谢,布莱恩。这可能会回答你的问题: 或者正如WPF博士所说:() 面板是ItemsControl吗 否。面板的逻辑子级 是UIElements,而逻辑 ItemsControl(its)的子项 项)可以是任何CLR对象 边栏:那么什

我有一个用户控件,它允许通过公开网格的Children属性向其中添加项。我添加的任何控件都可以正常显示,但当我尝试将添加项上的属性绑定到主窗口中的控件时,什么都不会发生(示例):


有什么想法吗?这是一个范围问题吗?我知道由于范围错误,我无法命名添加到子元素的元素。谢谢,布莱恩。

这可能会回答你的问题:

或者正如WPF博士所说:()

面板是ItemsControl吗

否。面板的逻辑子级 是UIElements,而逻辑 ItemsControl(its)的子项 项)可以是任何CLR对象

边栏:那么什么是面板?主要 面板的作用是提供布局 对儿童的支持。虽然 专家组保存了一个 子元素,它在技术上不是 WPF“控件”…也就是说,它没有 从控件基类和 它不支持WPF的 模板制作。相反,它是一个单一的 只有一个目的的元素…即, 尺寸和位置(也称为测量 (并安排)其子女


这可能会回答您的问题:

或者正如WPF博士所说:()

面板是ItemsControl吗

否。面板的逻辑子级 是UIElements,而逻辑 ItemsControl(its)的子项 项)可以是任何CLR对象

边栏:那么什么是面板?主要 面板的作用是提供布局 对儿童的支持。虽然 专家组保存了一个 子元素,它在技术上不是 WPF“控件”…也就是说,它没有 从控件基类和 它不支持WPF的 模板制作。相反,它是一个单一的 只有一个目的的元素…即, 尺寸和位置(也称为测量 (并安排)其子女


很明显我在这件事上做错了。我需要做的是创建一个无外观控件并对其进行模板化,以使其具有一个(或多个)contentpresenter。

显然,我在这件事上做得完全错误。我需要做的是创建一个无外观控件并对其进行模板化,使其具有一个(或多个)contentpresenter。

itemscontrol的功能似乎完全相同。也许我把它曝光错了?现在是:public ItemCollection ExposedItemsControlItems{get{return grdContainer.Items;}}}我仍然可以添加控件,它们在主机窗口中显示良好,但我仍然无法绑定到usercontrol之外。另一方面:我没有将集合绑定到usercontrol,而是直接将它们放入xaml中。由于我将在许多表单上使用此usercontrol,因此我需要能够在每个表单上向其添加不同的控件。也许我把它曝光错了?现在是:public ItemCollection ExposedItemsControlItems{get{return grdContainer.Items;}}}我仍然可以添加控件,它们在主机窗口中显示良好,但我仍然无法绑定到usercontrol之外。另一方面:我没有将集合绑定到usercontrol,而是直接将它们放入xaml中。因为我将在许多表单上使用这个usercontrol,所以我需要能够在每个表单上向它添加不同的控件。
<TextBox Name="txtTest" Text="Success!" />

<mycontrols:CustomUserControl.ExposedGridChildren>
     <TextBox Text="{Binding ElementName=txtTest, Path=Text, FallbackValue=fail}"/>
</mycontrols:CustomUserControl.ExposedGridChildren>
public UIElementCollection ExposedGridChildren
    {
        get { return grdContainer.Children; }
    }