2011-09-21 122 views
1

我有一些動態添加按鈕到StackPanel的代碼。 我想做這個動作是使用綁定到一些包含字符串列表的對象。 需要添加到StackPanel的按鈕的數量就像列表中的字符串的數量==>每個按鈕的內容都需要作爲列表中的字符串。如何動態添加按鈕到StackPanel

我怎樣才能使用綁定? 如何使列表中的字符串與堆棧面板中的對象之間建立連接?

我將DataContext定義爲列表 - 但我不知道如何使堆棧面板中的每個項目都與列表中的字符串一致。

感謝您的任何幫助。

回答

2

您使用ItemsControl(默認情況下使用Stackpanel把其項目)

<ItemsControl ItemsSource="{Binding ListOfStringsProperty}"> 
    <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <Button Content="{Binding}" /> 
      </DataTemplate> 
    </ItemsControl> 
</ItemsControl> 

真正的技巧,雖然將作出單擊該按鈕時,有用的事情發生。最基本的方法是在代碼隱藏中有一個Button_Click事件。

編輯: 「我怎樣才能改變方向,以橫」

<ItemsControl ItemsSource="{Binding ListOfStringsProperty}"> 
    <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <StackPanel Orientation="Horizontal" /> 
      </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
    <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <Button Content="{Binding}" /> 
      </DataTemplate> 
    </ItemsControl> 
</ItemsControl> 
+1

@Yanshof:見我的編輯。 – AnthonyWJones