Znajdź kontrolę w drzewie wizualnym
Usiłuję uzyskać mój SelectedRadioButton z DataTemplate.
Wpf Inspector pokazał Visual Tree:
iw kodzie:
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
jest ContentPresenter, zobacz obraz inspektora Wpf, wierzę, że stamtąd muszę być w stanie dostać się do SelectedRadioButton. Zmiennacontrol
jest zawsze zerowy.
Czego mi tu brakuje? Używam ichvisualtreehelpers.