在运行时向Stackpanel添加控件(SL 4.0)

时间:2011-04-07 14:28:34

标签: data-binding silverlight-4.0 stackpanel

我有一个包含堆叠面板的用户控件。

我正在尝试找到一种方法将stackpanel的子节点绑定到aproperty,以便我可以从另一个控件访问它们

任何人都有任何线索如何做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您正在使用DataBinding,则启用绑定覆盖您的stackpanel与itemsControl。然后,您可以使用名为ItemsProperty

的集合属性
<StackPanel>
   <ItemsControl x:Name="itemsControl" ItemsSource="{Binding ItemsProperty, Mode=TwoWay}" >
          <ItemsControl.ItemTemplate>
              <DataTemplate>
                 <ContentPresenter Content="{Binding}" /> <!-- you could also use Border -->
              </DataTemplate>
         </ItemsControl.ItemTemplate>
    </ItemsControl>
</StackPanel>

如果你在代码隐藏中,则不需要覆盖ItemsControl,只需调用stackpanel1.Children.Add(item); (如果X:L中的x:Name =“stackpanel1”)。

然后stackPanel1.Children应该有元素。