Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create an array of buttons in WPF?

Tags:

wpf

xaml

I can create an array of buttons in Windows Form but how can i do that in WPF(xaml) ? thanks in advance!

like image 297
Wayne Avatar asked Mar 20 '10 03:03

Wayne


1 Answers

You can't do it directly in XAML (though you can do it in code, in exactly the same way as in Windows Forms). What you can do instead is use data binding and ItemsControl to create the buttons for you. You don't say what you need the control array for, but suppose you want a button for each Person in a collection:

// Code behind
public Window1()
{
  var people = new ObservableCollection<Person>();
  // Populate people
  DataContext = people;
}

// XAML
<ItemsControl ItemsSource="{Binding}" BorderThickness="0">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <Button Content="{Binding Name}"
              Click="PersonButton_Click"
              Margin="4"
              />
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

You can actually set up the whole thing in XAML using the ObjectDataProvider and CollectionViewSource, but this should be enough to get you started. And obviously the source can be something other than business data depending on what you need the "array" for.

like image 56
itowlson Avatar answered Sep 29 '22 07:09

itowlson