如何在纯XAML中手动添加DataGrid端的按钮?

时间:2015-02-17 10:35:15

标签: c# wpf xaml datagrid

我有一些包含一些列的DataGrid:

<DataGrid.Columns>
    <DataGridTextColumn Header="Date" Binding="{Binding Date}, Mode=OneWay}"></DataGridTextColumn>
     //9 DataGridTextColumn more
</DataGrid.Columns>

我想在DataGrid的末尾添加一个按钮。无论有多少行,按钮应该是所有列上的colspan的“最后一行”。我尝试了一些东西,但它没有用:

//</DataGrid.Columns>
<local:MyRecord Date="" ....>
    <Button Grid.ColumnSpan="10" VerticalAlignment="Bottom" Click="Button1_Clicked" >Load More</Button>
</local:MyRecord>

背后的代码看起来像这样:

public class MyRecord{
    public string Date{ get; set;} 
    //...
}

如何在DataGrid的末尾添加/添加按钮?纯XAML有可能吗?

1 个答案:

答案 0 :(得分:2)

首先,您需要使用ScrollViewerStackPanel。把它们放在你的DataGrid上:

<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
    <StackPanel>
        <DataGrid>
            ///Content goes here...
        </DataGrid>
        <Button Height="Auto" ....></Button>
    </StackPanel>
</ScrollViewer>

DataGrid中,您需要(DataGrid.)Template

<DataGrid RowHeaderWidth="0">
    <DataGrid.Template>
        <ControlTemplate>
            <StackPanel Orientation="Vertical">
                <DataGridColumnHeadersPresenter />
                <ItemsPresenter />
        </ControlTemplate>
    </DataGrid.Template>
</DataGrid>

现在,DataGrid使用ScrollViewer启用滚动。