如何在WPF中创建一个按钮数组?

8

我可以在Windows Form中创建一个按钮数组,但是在WPF(xaml)中怎样做呢?谢谢!

1个回答

18
您不能直接在XAML中完成它(尽管您可以在代码中以与Windows Forms完全相同的方式完成)。相反,您可以使用数据绑定和ItemsControl为您创建按钮。您没有说明需要控件数组的原因,但假设您希望为集合中的每个人创建一个按钮:
public Window1()
{
  var people = new ObservableCollection<Person>();
  // Populate people
  DataContext = people;
}

private void PersonButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
}

XAML(可扩展应用程序标记语言)
<ItemsControl ItemsSource="{Binding}" BorderThickness="0">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <Button Content="{Binding Name}"
              Click="PersonButton_Click"
              Margin="4"
              />
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

实际上,您可以使用ObjectDataProvider和CollectionViewSource在XAML中设置整个内容,但这应该足以让您开始。显然,源可以是其他业务数据,具体取决于您需要“数组”的用途。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接