2011-03-03 73 views
0

我希望能夠獲得一個控件,事先不知道它是什麼類型,並且能夠通過它的項目集合。問題是,每個控制想要它自己的鑄造,我不知道如何去做通用......如果控制器沒有我想用這個控件的項目...... 謝謝。有物品的控件,wpf

回答

0

這可以工作。一個控件是一個DependencyObject,如果該對象繼承IEnumerable,它將有一個迭代器。

 private void DoStuffWithControl(DependencyObject dependencyObject) 
    { 
     if (dependencyObject is IEnumerable) 
     { 
      IEnumerator enumerator = (dependencyObject as IEnumerable).GetEnumerator(); 
      while (enumerator.MoveNext()) 
      { 
       // Do whatever you want to do with the item (enumerator.Current) 
      } 
     } 
     else 
     { 
      // Do whatever you want to do with the control 
     } 
    } 
+0

非常感謝你,你幫了我很多... – olia

+0

我按照你的建議改變了我的代碼,但迭代器不通過的項目集合進行迭代,它甚至沒有進入的同時,像控制器沒有任何物品....非常奇怪... – olia

相關問題