Привязать объект к WPF TreeView

Я хотел бы знать, как привязать пользовательский тип данных кTreeView.

Тип данных - это в основном массив списков объектов, которые содержат другие списки. Доступ будет выглядеть примерно так:

foreach (DeviceGroup dg in system.deviceGroups)
    {
        foreach (DeviceType dt in dg.deviceTypes)
        {
            foreach (DeviceInstance di in dt.deviceInstances)
            {

            }
        }
    }

Я хотел быTreeView выглядеть примерно так:

DeviceGroup1

 --> DeviceType1
      --DeviceInstance1
      --DeviceInstance2
 --> DeviceType2
      --DeviceInstance1

DeviceGroup2

 --> DeviceType1
      --DeviceInstance1
 --> DeviceType2

Ответы на вопрос(2)

Ваш ответ на вопрос