如何在datagrid列的第一行添加按钮?

时间:2012-02-03 12:12:56

标签: wpf data-binding datagrid

您好我正在开发一个wpf应用程序。我正在使用wpf工具包中的datagrid。我是从数据库的提供者项源绑定网格。它工作正常。现在我想在某些列的第一行添加按钮,那么有没有办法添加按钮?

1 个答案:

答案 0 :(得分:1)

<DataGrid Name="dgtest">
    <DataGrid.Columns>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Button x:Name="button" Content="click me" Visibility="Collapsed" />
                        <DataTemplate.Triggers>
                            <DataTrigger Binding="{Binding Path=ShowButton}" Value="True">
                                <Setter TargetName="button" Property="Visibility" Value="Visible" />
                            </DataTrigger>
                        </DataTemplate.Triggers>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

这将显示项目的值ShowButton设置为“True”的行上的按钮。

以下是使用某些对象填充列表的一些代码:

public Window2()
{
    InitializeComponent();

    ObservableCollection<test> collection = new ObservableCollection<test>();
    collection.Add(new test { ShowButton = "True" });
    collection.Add(new test { ShowButton = "False" });
    collection.Add(new test { ShowButton = "True" });

    dgtest.ItemsSource = collection;
}

public class test
{
    public string ShowButton { get; set; }
}