Получить имя родительского элемента управления WPF С# - программирование
Подтвердить что ты не робот

Получить имя родительского элемента управления WPF С#

У меня есть доступ к User Control A. Я хочу получить информацию о User Control C. Есть ли способ сделать это в WPF? Структура в основном то, что вы видите. User Control D - лента, C - вкладка на ленте, а B и A - содержимое C. Я не могу получить доступ к C. Я пробовал использовать свойство Parent для A, но он, похоже, не дает мне информация о C.

enter image description here

4b9b3361

Ответ 1

Попробуйте использовать VisualTreeHelper.GetParent или используйте рекурсивную функцию здесь

Ответ 2

Возможно, вы можете попытаться отличить родителя как UserControl C, например:

(this.Parent as UserControlC).YourProperty

Ответ 3

используйте метод Window.GetWindow(this) в обработчике Loaded event.

public MainView()
{
    InitializeComponent();

    this.Loaded += new RoutedEventHandler(MainView_Loaded);
}

void MainView_Loaded(object sender, RoutedEventArgs e)
{
    Window parentWindow = Window.GetWindow(this);

    ...
}