элементы управления, которые имеют элементы, wpf - PullRequest
0 голосов
/ 03 марта 2011

Я хочу иметь возможность получить контроль, который я не знаю заранее, какой это тип, и иметь возможность просматривать коллекцию предметов. Проблема в том, что каждому элементу управления требуется свое собственное приведение, и я не знаю, как сделать его общим ... если элемент управления не имеет элементов, я хочу использовать только этот элемент управления .... Спасибо.

1 Ответ

0 голосов
/ 03 марта 2011

Это может сработать.Элементом управления является 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
        }
    }
...