WPF DataGridHeaderTemplate作为一个按钮
本文关键字:一个 按钮 DataGridHeaderTemplate WPF | 更新日期: 2023-09-27 18:17:20
我试图得到我的DataGridCheckBoxColumn。头是一个按钮,并运行命令一旦单击。在ViewModel中使用DelegateCommand来删除被检查的实体。
<DataGrid ItemsSource="{Binding EmployeeCollection}" RowDetailsVisibilityMode="VisibleWhenSelected" AutoGenerateColumns="False" IsSynchronizedWithCurrentItem="False" >
<DataGrid.Columns>
<DataGridCheckBoxColumn CanUserSort="False" IsReadOnly="False" Binding="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" >
<DataGridCheckBoxColumn.HeaderTemplate>
<DataTemplate>
<Button Command="{Binding DeleteCommand}">
<StackPanel>
<Image Source="../Images/SearchIcon.jpg" />
</StackPanel>
</Button>
</DataTemplate>
</DataGridCheckBoxColumn.HeaderTemplate>
</DataGridCheckBoxColumn>
</DataGrid>
有人知道为什么这不起作用吗?当您单击标题时,我还禁用了列排序,希望它会运行我的按钮。也许标题是一个容器,我的按钮隐藏在后面?
试试这个:
<DataGrid.Resources>
<DiscreteObjectKeyFrame x:Key="ProxyKey" Value="{Binding}"/>
</DataGrid.Resources>
...
<Button Command="{Binding Value.DeleteCommand, Source={StaticResource ProxyKey}}">