使用控件模板填充所有网格单元格

时间:2012-04-06 19:13:45

标签: .net wpf xaml grid

我想用相同的控件填充所有单元格。我现在拥有的是控件模板和网格。但我无法在Xaml中找到一种简单的方法来将控件添加到所有单元格中。

这是我现在的代码:

<Window x:Class="AcMidi.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="512" Width="760">
    <Window.Resources>
        <ControlTemplate x:Key="Planet">
            <Button Content="Button"></Button>
        </ControlTemplate>
    </Window.Resources>
    <Grid Height="209" Name="grid1" Width="500">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
    </Grid>
</Window>

1 个答案:

答案 0 :(得分:1)

您可以使用ItemsControl

  • ItemsSource绑定到具有行位置和列位置属性的项集合,您可以轻松地创建具有两个for循环的集合。
  • ItemsPanel设为Grid
  • ItemContainerStyle中,您可以将Grid.ColumnGrid.Row绑定到商品的属性。
  • ItemTemplate设置为您的模板(应该是DataTemplate,因为您没有模板控件)。