我與Visual Studio 2010的工作,開發一個擴展e.data.GetData總是空
我需要將它從一個WPF的TreeView的工具窗口拖放到DSL圖,但是當我打電話e.data .GetData我無法獲得價值並想知道我在做什麼錯誤
private void OnDragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(SqlServerTable)))
{
try
{
SqlServerTable table = (SqlServerTable)e.Data.GetData(typeof(SqlServerTable));
MessageBox.Show(table.Name);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
第一個if語句解析爲True。這會告訴我這就是那種Object。 這就是在WPF樹視圖:
private void DataSourceExplorerTreeView_MouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
if (DataSourceExplorerTreeView.SelectedValue is TableViewModel)
{
Table table = ((TableViewModel)DataSourceExplorerTreeView.SelectedValue).Table;
DragDrop.DoDragDrop(DataSourceExplorerTreeView, table, DragDropEffects.Copy);
}
}
}
從表SqlServerTable繼承。如果我堅持一個斷點,並呼籲
e.Data.GetFormats()
我可以看到我的完全合格的類型名
如果將其更改爲「Object table = e.Data.GetData(typeof(SqlServerTable));」 ? – SwDevMan81 2009-09-14 17:18:36
不幸的是,如果我將e.Data.GetData(typeof(SqlServerTable))粘貼到快速視圖中,它現在總是爲空 – 2009-09-14 17:28:46