WPF - 从列表中重复元素

时间:2011-05-06 10:57:36

标签: c# .net wpf

我尝试做一个WPF应用程序。应用程序应如下所示。

标题 - 左上角 按钮“新条目” - 右上角 在此之后,有一张桌子或类似的东西。 每个条目有三列。在第一列上是名称,第二列是文本,在第三列上是按钮。

应为我的通用列表中的每个元素显示和重复名称,文本和按钮。

我该怎么做?是否有像WebForms中的转发器控件?我可以使用ListView吗?如果是这样,我该如何配置呢?

任何帮助都将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该做的是在xaml中创建一个dataGrid,将列绑定到您的字段,然后将itemssource设置为该数据网格:

<DataGrid 
    x:Name="ItemsDataGrid"
    AutoGenerateColumns="False"
    HeadersVisibility="Column"
    ItemsSource="{Binding Path=YourDataCollection, Mode=OneWay}"
    SelectionChanged="IfYouWantToDoSomethingHereHandler"
    >
    <DataGrid.Columns>
        <DataGridTextColumn 
            Header="Name"
            Binding="{Binding Path=NameFromYourDataObject, Mode=TwoWay}" 
            Width="Auto"
            />
        <DataGridTextColumn 
            Header="DescriptionText"
            Binding="{Binding Path=DescriptionFromYourDataObject, Mode=TwoWay}" 
            Width="Auto"
            />
        <DataGridTemplateColumn 
            Header="ButtonColumn"
            CellTemplate="{StaticResource ButtonTemplate}"
            Width="Auto"
             />
    </DataGrid.Columns>
</DataGrid>

ButtonTemplate是DataTemplate的地方:

<DataTemplate
    x:Key="ButtonTemplate"
    >
        <Button
            -- bind a command here of what the pressing of the button should look like
            />
</DataTemplate>

从这里开始你要做的就是创建DataObject,创建一个List或ObservableCollection(“YourDataCollection”),用这些数据填充它,然后设置ItemsDataGrid的ItemsSource。

那应该是它..  HTH,丹尼尔