2010-04-20 48 views
0

父項獲得儘可能字符串我用下面的代碼如何檢查點擊產品在樹形

private void treeview1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e) 
     { 
      if (treeview1.SelectedItem != null) 
      { 
       Animal bar = (Animal)treeview1.SelectedItem; 
       string str = bar.Name; 
       int boxty = bar.BoxType; 
       int boxno = bar.BoxNo; 
      } 

     } 

它正常工作。但是當我在父點擊(而非+號)中的子項,它去這個代碼,並顯示error.Ofourse im cast SelectedItem我的列表動物。 但我不想this.I必須檢查,是否clciked項目是父母,如果是這樣,那麼我將跳過這種編碼。只有當我點擊子項時,它會去這個編碼。 我該怎麼做?我如何識別選定的項目是父項。

+0

運行此代碼時會得到什麼錯誤?它是否會產生一個錯誤,因爲當你點擊+符號時,你實際上並沒有在你的樹形視圖中選擇任何東西? – DrLazer 2010-04-20 09:41:06

+0

無法投射「MS.Internal.Data.CollectionViewGroupInternal」類型的對象以鍵入「GroupingTreeView.Animal」。 我得到這個錯誤。 當我按+符號,它不去那個功能。它只是擴大子項目。 – Anu 2010-04-20 09:49:19

回答

0

我用下面的行

treeview1.Items.IndexOf(treeview1.SelectedItem) 

它返回-1,當我們選擇cild項目的代碼,並返回1,2.etc,依靠的就是單擊的父項。

所以我用這個來檢查clciked項是否是小孩。

if (treeview1.Items.IndexOf(treeview1.SelectedItem) == -1) 
       { 
        Animal bar = (Animal)treeview1.SelectedItem; 
        string str = bar.Name; 
        int boxty = bar.BoxType; 
        int boxno = bar.BoxNo; 
       }