Просмотры Дети Не найденоC#

Место общения программистов C#
Anonymous
Просмотры Дети Не найдено

Сообщение Anonymous »


У нас есть приложение с диалоговым окном запуска, которое немного неуклюже и выглядит не лучшим образом. В этом диалоговом окне мы размещаем элемент управления вкладками, который содержит WebView2, который мы используем для аутентификации (с использованием Auth0).

Мы хотим убрать все это диалоговое окно и оставить только окно, отображающее объект WebView2. Итак, я вытащил все и осталось следующее:

Проблема, с которой я столкнулся, заключается в том, что для подключения WebView2 к нашему механизму аутентификации/токенизации мы используем службу дерева объектов для поиска дочерних объектов родительского объекта (окна). Этот механизм работал нормально в нашей старой настройке, но в обновленном окне метод FindChildRecursily сообщает мне, что у окна 0 дочерних элементов, поэтому элемент управления WebView2 никогда не находится.

Почему дочерние элементы родителя не могут быть найдены, когда я вызываю FindChild с помощью этого вызова:
var webView = _objectTreeService.FindChild("signinWebView"); public TChild FindChild(string childName) где TParent: DependencyObject где TChild: DependencyObject { var родительский = _serviceProvider.GetRequiredService() ?? throw new InvalidOperationException("Родительский элемент не найден!"); var FoundChild = FindChildRecursily(родитель, childName); вернуть найденный ребенок ?? throw new InvalidOperationException($"Указанный дочерний элемент не найден! Имя дочернего элемента: {childName}"); } частный статический T? FindChildRecursily(родительский объект DependencyObject, строка childName) где T: Объект зависимости { Т? FoundChild = ноль; вар ChildrenCount = VisualTreeHelper.GetChildrenCount(родитель); for (var я = 0; я

Вернуться в «C#»