diff --git a/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp b/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp index bd8e432911c..539165294c6 100644 --- a/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp +++ b/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp @@ -133,42 +133,45 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation _UpdateOverrideSystem(); // Get the correct base to apply automation properties to - DependencyObject base{ nullptr }; + std::vector base; + base.reserve(2); if (const auto& child{ GetTemplateChild(L"Expander") }) { if (const auto& expander{ child.try_as() }) { - base = child; + base.push_back(child); } } - else if (const auto& content{ Content() }) + if (const auto& content{ Content() }) { - if (const auto& obj{ content.try_as() }) + const auto& panel{ content.try_as() }; + const auto& obj{ content.try_as() }; + if (!panel && obj) { - base = obj; + base.push_back(obj); } } - if (base) + for (const auto& obj : base) { // apply header as name (automation property) if (const auto& header{ Header() }) { if (const auto headerText{ header.try_as() }) { - Automation::AutomationProperties::SetName(base, *headerText); + Automation::AutomationProperties::SetName(obj, *headerText); } } // apply help text as tooltip and full description (automation property) if (const auto& helpText{ HelpText() }; !helpText.empty()) { - Automation::AutomationProperties::SetFullDescription(base, helpText); + Automation::AutomationProperties::SetFullDescription(obj, helpText); } else { - Controls::ToolTipService::SetToolTip(base, nullptr); - Automation::AutomationProperties::SetFullDescription(base, L""); + Controls::ToolTipService::SetToolTip(obj, nullptr); + Automation::AutomationProperties::SetFullDescription(obj, L""); } }