2012-05-17 3 views
-2

WPF에서 Windows 응용 프로그램과 동일한 응용 프로그램을 만들고 싶습니다. wpf에서 treeview 이벤트를 사용할 때 WndowsApplication의 treeview_NodeMouseClick과 유사한 이벤트를 찾지 못했습니다.WPF Tree 이벤트보기

// Windows 응용 프로그램 코드

private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) 
    { 
     if (e.Node != null) 
     { 
      GetAllchield(e.Node, e.Node.Level); 

     } 

    } 

// GetAllchield

내가 WPF와 동일한 사용하려는
public void GetAllchield(TreeNode clickednode, int indexDepth) 
    { 
     if (clickednode.Nodes.Count > 0 && !clickednode.IsExpanded) 
     { 
      clickednode.Collapse(); 
      return; 
     } 
     string[] FullPath = clickednode.FullPath.Split('\\'); 
     string rootnode = FullPath[0].ToString(); 
     //get all market for root event type 
     int eventTypeID = DictionaryAllActiveEventTypes[rootnode]; 
     string[] allMarkets = GetAllMarketForEventID(eventTypeID); 

     //selecting unque chield node and populating in tree 

     for (int i = 0; i < allMarkets.Length; i++) 
     { 

      if (allMarkets[i].Contains(clickednode.Text)) 
      { 

       string[] marketDetails = allMarkets[i].Split('~'); 
       int marketID = Convert.ToInt32(marketDetails[0]); 
       string MarketName = marketDetails[1].ToString(); 
       string MarketStatus = marketDetails[3].ToString(); 
       string EventHeirarchy = marketDetails[6].ToString(); 


       string Menupath = marketDetails[5].ToString(); 
       string[] Arrmenupath = Menupath.Trim(':').Split('\\'); 

       string chieldText = ""; 



       if (indexDepth == 0) 
       { 
        if (rootnode == "Cricket" || rootnode == "Tennis" || rootnode == "Golf" || rootnode == "Rugby") 
        { 
         if (Arrmenupath[2].Contains("Group") && Arrmenupath[2].Length == 7) 
         { 
          if ((indexDepth + 3) <= Arrmenupath.Length - 1) 
          { 
           chieldText = Arrmenupath[indexDepth + 3].ToString(); 
          } 
         } 
         else 
         { 
          if ((indexDepth + 2) <= Arrmenupath.Length - 1) 
           chieldText = Arrmenupath[indexDepth + 2].ToString(); 
         } 
        } 
        else 
         if ((indexDepth + 2) <= Arrmenupath.Length - 1) 
          chieldText = Arrmenupath[indexDepth + 2].ToString(); 
       } 
       else 
       { 
        if (Arrmenupath[Arrmenupath.Length - 1] == clickednode.Text) 
         chieldText = MarketName; 
        else 
        { 

         if (allMarkets[i].Contains(clickednode.Text) && allMarkets[i].Contains(clickednode.Parent.Text) && allMarkets[i].Contains(rootnode)) 
         { 
          if (rootnode == "Cricket" || rootnode == "Tennis" || rootnode == "Golf" || rootnode == "Rugby") 
          { 
           if (Arrmenupath[2].Contains("Group") && Arrmenupath[2].Length == 7) 
           { 
            if ((indexDepth + 3) <= Arrmenupath.Length - 1) 
            { 
             chieldText = Arrmenupath[indexDepth + 3].ToString(); 
            } 
           } 
           else 
           { 
            if ((indexDepth + 2) <= Arrmenupath.Length - 1) 
             chieldText = Arrmenupath[indexDepth + 2].ToString(); 
           } 
          } 
          else 
           if ((indexDepth + 2) <= Arrmenupath.Length - 1) 
            chieldText = Arrmenupath[indexDepth + 2].ToString(); 
         } 
        } 
       } 


       //check whether node is already added 

       //if (chieldText.Contains("MiWay")) 
       //{ } 


       if (!string.IsNullOrEmpty(chieldText)) 
       { 
        if (clickednode.Nodes.Count >= 1) 
        { 
         bool doesNodeAlreadyExist = false; 
         foreach (TreeNode node in clickednode.Nodes) 
         { 
          if (node.Text == chieldText) 
          { 
           doesNodeAlreadyExist = true; 
           break; 
          } 
         } 
         if (!doesNodeAlreadyExist) 
         { 
          clickednode.Nodes.Add(chieldText); 
         } 
        } 
        else 
        { 
         clickednode.Nodes.Add(chieldText); 
        } 
       } 


      } 
     } 
     clickednode.Expand(); 
    } 

. 도와 주시거나 이해해주십시오.

답변

0

당신은 MouseLeftButtonDown을 사용하여 보낸 사람 인수 또는 사용하여 응답을

+0

감사 SelectedItemChanged 확인할 수 있습니다 ....... – neetesh27