1
琐碎,但我真的陷入了它......我怎么能找出哪些DataGrid列(或标题)的项目被删除?我在DataGrid.Drop
事件中看不到任何可检索的信息。在WPF中的Datagrid标题上拖放列表视图项目
琐碎,但我真的陷入了它......我怎么能找出哪些DataGrid列(或标题)的项目被删除?我在DataGrid.Drop
事件中看不到任何可检索的信息。在WPF中的Datagrid标题上拖放列表视图项目
我现在只是编程一些dataGrid D & D,我发现要做的只是将Drop监听器放在每个dataGridColumnHeader和每个DataGridCell上。我已经在我的单元格,dataGridColumnHeaders和datagrids(对于datagrid的背景中的下拉列表,以防万一您没有足够的行/列来填充DG)中放置监听器)。
这些监听器在单元的drop listener中使用类似myDataGrid.Columns.IndexOf(((DataGridCell)sender).Column)
的应用获取单元的Row/col索引,然后调用DG类中的常用方法。
它实际上没有你想象的那么混乱。
编辑:关于您的评论:“但是,如何将事件处理程序附加到DataGrid标头?”
在MyDataGrid.xaml例如:
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<EventSetter Event="DropEvent" Handler="ColumnHeaderDropHandler" />
</Style>
</DataGrid.ColumnHeaderStyle>
,当然,你需要在你的代码来实现ColumnHeaderDropHandler落后。
但是,你如何将一个事件处理程序附加到'DataGrid'标题? –
我试过了,但我得到一个错误:'错误1类型引用无法找到名为'DataGridColumnHeader'的公共类型。“#: –
Nevermind;我得到它的工作。 XAML中的名称空间引用不太直观,我对WPF也不太熟悉。您的解决方案正常工作 - 感谢您的帮助。 –