2014-11-25 82 views
0

我有一個基於分層數據模式顯示多個嵌套類的WPF樹視圖。它使用這裏的類:https://complexdatatemplates.codeplex.com/。這個問題也適用於DataGrids,不過或者任何控制誰選擇的項目都是匿名類。在treeview.selecteditem設置屬性

我想做的事似乎很簡單。我想選擇一個項目,然後按下一個按鈕並直接對所選項目進行操作 - 不是樹視圖的SelectedItem屬性,而是它後面的對象。但是,由於編譯器直到運行時才知道所選項目的類,因此可以理解,我不能訪問其中的任何方法或屬性。

本例中的類是'Roms',樹視圖是'DB_tree'。我可以從選定的項目創建一個新對象,並將其轉換爲Roms,然後執行任何我想要的操作。像這樣

roms = (Roms)DB_tree.SelectedItem; 

但我不知道如何操作DB_tree.SelectedItem將返回的實際對象。

回答

0

嗯,事實證明,通過指定(Roms)DB_tree.SelectedItem到另一個對象

DummyObject = (Roms)DB_tree.SelectedItem 

然後我所做的一切,以DummyObject做原來的對象。對象的等號運算符更像是分配一個別名而不是等號運算符。

奇怪的是,儘管OO程序員到處都有明顯的常識。如果等號運算符以相同的方式用於雙精度或整數,那麼就不可能做數學運算,現在我明白了,它正在清理大量的代碼。