2015-11-19 39 views
0

我使用這個列表:獲得價值從的SelectedItem RadGridView

List<AssetListData> assetList = new List<AssetListData>();

有數據填充,並使用此代碼綁定到我的RadGridView

AssetList_GridView.ItemsSource = assetList; 

而且現在我有一個帶有兩列的GridViewNameType)。我在AssetList_GridView中創建了一個ContextMenu,由EditDelete組成。點擊ContextMenu後,我需要獲取該值,但失敗。我試過click事件這裏面的代碼ContextMenu

private void GridContextMenu_ItemClick(object sender, Telerik.Windows.RadRoutedEventArgs e) 
{ 
     MenuItem item = (e.OriginalSource as RadMenuItem).DataContext as MenuItem; 
     switch (item.Text) 
     { 
      case "Edit Asset": 
       var typeValue = ((assetListData)AssetList_GridView.SelectedItem).assetType; 
       this.AssetList_GridView.BeginEdit(); 
       break; 
      case "Delete Asset": 
       this.AssetList_GridView.Items.Remove(this.AssetList_GridView.SelectedItem); 
       break; 
     } 
} 

var typeValue = ((assetListData)AssetList_GridView.SelectedItem).assetType;錯誤說:

資產列表找不到。

爲什麼我不能訪問assetList這裏,但我可以訪問它爲GridViewItemsSource? 有沒有簡單的方法從點擊行中獲取價值?

回答

2

的SelectedItem不能被重新輸入到列表中,如果你想重新鍵入你應該使用

var typeValue = ((AssetListData)AssetList_GridView.SelectedItem).assetType; 
+0

錯誤還是一樣,我將修改我的問題,使之更加詳細 – Mirza

+0

啊NVM我需要寫下我以前製作的AssetListData事件的所有目錄。謝謝 – Mirza

+0

先生,如果我想同時獲得assetName和assetType,該怎麼辦?以及如果我有更多並且想要獲得該行中的所有價值? – Mirza