按钮在数据杂志中导出



我正在尝试在datagrid的顶部添加一个单个导出按钮。我最大的问题是能够在所有DataGrid的选定项目中添加命令参数。

我已经为ContextMenu做了,但是我需要添加一个按钮进行相同的思考。

这是代码:

<Grid>
    <Controls:MetroContentControl>
        <Expander Header="HeaderExpa" VerticalAlignment="Top" Grid.Row="1" IsExpanded="True" IsEnabled="True">
            <Grid Name="Namegrid">
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <DataGrid ItemsSource="{Binding ressource}" Name="NameDatagrid">
                    <DataGrid.Resources>
                        <Style x:Key="AlignBottomColumnHeader" BasedOn="{StaticResource AzureDataGridColumnHeader}" TargetType="DataGridColumnHeader">
                            <Setter Property="VerticalContentAlignment" Value="Bottom" />
                        </Style>
                    </DataGrid.Resources>
                    <DataGrid.Columns>
                        <!--Description-->
                    </DataGrid.Columns>
                    <DataGrid.ContextMenu>
                        <ContextMenu>
                            <MenuItem 
                                Header="HeaderContextMenu"
                                Command="{ Binding CommandExport }"
                                CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ContextMenu}}, Path=PlacementTarget.SelectedItems}"
                            />
                        </ContextMenu>
                    </DataGrid.ContextMenu>
                </DataGrid>
            </Grid>
        </Expander>
    </Controls:MetroContentControl>
</Grid>

如何将此特定的按钮添加到我的datagrid中?我尝试了一些事情,例如添加

<DataTemplate x:Key="HeaderCheckbox">
    <Button Command="{x:Static DataGrid.SelectAllCommand}" Focusable="false" 
                Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" 
                Visibility="Visible" 
                Width="200"/>
</DataTemplate>

<DataGrid.Resources>之后,在DataGrid声明之前添加一个按钮,大多数情况下,该按钮确实不会显示。

感谢您的帮助:(

只需在网格面板中添加另一个行定义,然后将按钮添加到该特定行(您的网格上方(,然后使用此操作:

<Grid Name="Namegrid">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Button Grid.Row="0" CommandParameter="{Binding ElementName=NameDatagrid, Path=SelectedItems}"/>
        <DataGrid Grid.Row="1" ItemsSource="{Binding ressource}" Name="NameDatagrid"/>
    </Grid>

ps:请在您的datagrid中提供一个名称,并将其用于按钮内的元素名称。按钮应在数据杂志控件本身上方,而不是内部。确保您提到grid.row = datagrid的" 1"。

最新更新