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也不太熟悉。您的解決方案正常工作 - 感謝您的幫助。 –