Как создать массив кнопок в WPF?

Я могу создать массив кнопок в Windows Form, но как это сделать в WPF (xaml) ? заранее спасибо!

2 ответов


вы не можете сделать это непосредственно в XAML (хотя вы можете сделать это в коде, точно так же, как в Windows Forms). Вместо этого вы можете использовать привязку данных и ItemsControl для создания кнопок. Вы не говорите, для чего вам нужен массив управления, но предположим, что вам нужна кнопка для каждого человека в коллекции:

// 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>

вы можете фактически настроить все это в XAML, используя ObjectDataProvider и CollectionViewSource, но этого должно быть достаточно, чтобы вы начатый. И, очевидно, источником может быть что-то другое, чем бизнес-данные, в зависимости от того, для чего вам нужен "массив".


посмотри x: Array.