Вы добавляете сложный тип (StackPanel) в качестве элементов вашего комбинированного списка.Когда вы получаете доступ к свойству SelectedItem вашего комбинированного списка, вы возвращаете экземпляр объекта StackPanel.
Это то, что этот комбинированный список знает о своих элементах.Он понятия не имеет, что находится внутри StackPanel.
Как сказал Myermian, вам нужно каким-то образом сканировать визуальное дерево, чтобы выяснить, что вы хотите.
Хакерский способ - взять экземпляр StackPanel, который вы получили, и вызвать StackPanel.Childrenчтобы получить это дети, затем итерации и найти то, что вы хотите.Однако это очень хрупкий и, как правило, не рекомендуемый подход.
Что вы действительно хотите сделать, так это привязать данные к комбинированному списку и отделить пользовательский интерфейс от данных в списке.Таким образом, вы можете получить доступ к нужным данным (значение текстового поля) независимо от структуры пользовательского интерфейса элемента