2011-08-12 69 views
0

我在我的WPF MVVM應用程序的窗口中有一個DataGrid,在另一個窗口中我有另一種類型的對象的數據網格。WPF將整數拖放到對象的數據網格中

只要不同數據網格中的兩個對象匹配,就沒有問題。但在這種情況下,我在這些窗口中有兩個不同的對象。

我想在我的目標窗口做的是,在我後面的代碼改變對象的的dragEvent到相匹配的recieving網格對象的對象,像這樣:

void dgdIngredient_PreviewDrop(object sender, DragEventArgs e) 
    { 
     if ((e.Data.GetData("**MyTypeOfObject**",true) as VMProductComponent) != null) 
     { 
      VMProductComponent vmp = new VMProductComponent(); 
      e.Data.SetData((e.Data.GetData(typeof(object)) as FOODit.Matilda.ViewModel.VMProductComponent)); 
     } 
    } 

然而,轉換總是失敗,而且我總是在我的GetData()語句中得到空值,任何人都可以幫助我正確地做到這一點,如果這是可能的話。

預先感謝您。

/彼得

回答

0

彷彿我已工作了太長時間,我想我的源對象轉換爲直接我的目標對象,所以這是正確的解決方案。

private void target_Drop(object sender, DragEventArgs e) 
{ 
    MyTargetType data = e.Data.GetData(typeof(MyTargetType)) as MyTargetType; 
    if (data != null) 
    { 
    target.Content = data; 
    } 
} 

/彼得