Найти управление в визуальном дереве
Я пытаюсь получить SelectedRadioButton из DataTemplate.
Wpf Inspector показал визуальное дерево:
и в коде:
void menu_StatusGeneratorChanged(object sender, EventArgs e)
{
var status = Menu.Items.ItemContainerGenerator.Status;
if (status == System.Windows.Controls.Primitives.GeneratorStatus.ContainersGenerated)
{
var item = Menu.Items.ItemContainerGenerator.ContainerFromIndex(0);
// item is a ContentPresenter
var control = Tools.FindChild<SelectedRadioButton>(item);
control = Tools.FindAncestor<SelectedRadioButton>(item);
}
}
item
является ContentPresenter, см. изображение инспектора Wpf, я думаю, что оттуда я смогу добраться до SelectedRadioButton. Переменнаяcontrol
всегда ноль.
Что мне здесь не хватает? Я пользуюсь этимvisualtreehelpers.