Я не уверен, что понимаю вашу проблему ....
Но кажется, что вы пытаетесь взломать иерархию пользовательского интерфейса, чтобы найти что-то (а-ля WinForms) - это все равно что плыть против течения в WPF. Это заставит тебя очень быстро устать ..
Посмотрите на статьи по шаблону ViewModel. Один из них, который я прочитал, - один за Дэн Кревье . Основная идея состоит в том, чтобы иметь объект Model для пользовательского интерфейса - пользовательский интерфейс (данные) привязывается к свойствам, предоставляемым ViewModel. Теперь вся ваша логика, связанная с пользовательским интерфейсом, может перейти в ViewModel, которая уведомляется посредством уведомлений propertyChanged о любом изменении состояния сеанса. Поэтому, если поле изменяется, ViewModel получает уведомление. ViewModel обновляет соответствующие свойства, а пользовательский интерфейс обновляется соответствующим образом.
В этом случае ViewModel.OrderInfo.Find_PO_with_X(searchCriteria)
поможет вам добраться до нужного объекта. Если найдено, вы говорите ViewModel.ShowGreenLight = true
и элемент управления пользовательского интерфейса, связанный с этим свойством, станет зеленым.
НТН