Ответ 1
Попробуйте использовать VisualTreeHelper.GetParent
или используйте рекурсивную функцию здесь
У меня есть доступ к User Control A. Я хочу получить информацию о User Control C. Есть ли способ сделать это в WPF? Структура в основном то, что вы видите. User Control D - лента, C - вкладка на ленте, а B и A - содержимое C. Я не могу получить доступ к C. Я пробовал использовать свойство Parent для A, но он, похоже, не дает мне информация о C.
Попробуйте использовать VisualTreeHelper.GetParent
или используйте рекурсивную функцию здесь
Возможно, вы можете попытаться отличить родителя как UserControl C, например:
(this.Parent as UserControlC).YourProperty
используйте метод 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);
...
}