RibbonApplicationMenu: como se livrar do Painel Auxiliar

Aconteceu que o aplicativo em que estou trabalhando não funciona em documentos, portanto não há necessidade de exibir a lista de documentos abertos recentemente no menu do aplicativ
Mas - irritantemente - não há propriedades prontamente disponíveis noRibbonApplicationMenu class para ocultar o @ não utilizaAuxiliaryPane (para o qual, curiosamente, a propriedade existe, mas é marcada como "interna").
Claro, eu posso simplesmente deixar lá - mas isso é ... desarrumado.

ntão, aqui está a solução que eu crie
Espero que seja útil para mais alguém: -)

A idéia geral é subclassificar oRibbonApplicationMenu, localize o filho do modelo correspondente ao pop-up do menu e substitua seuWidth (após várias experiências frustrantes, tornou-se evidente que fazer isso nem porPART_AuxiliaryPaneContentPresenter nem paraPART_FooterPaneContentPresenter - nem para os dois - poderia conseguir qualquer coisa

Bem, sem mais delongas, aqui está o código:

public class SlimRibbonApplicationMenu : RibbonApplicationMenu
{
    private const double DefaultPopupWidth = 180;

    public double PopupWidth
    {
        get { return (double)GetValue(PopupWidthProperty); }
        set { SetValue(PopupWidthProperty, value); }
    }

    public static readonly DependencyProperty PopupWidthProperty =
        DependencyProperty.Register("PopupWidth", typeof(double), 
        typeof(SlimRibbonApplicationMenu), new UIPropertyMetadata(DefaultPopupWidth));


    public override void OnApplyTemplate()
    {
        base.OnApplyTemplate();
        this.DropDownOpened += 
            new System.EventHandler(SlimRibbonApplicationMenu_DropDownOpened);
    }

    void SlimRibbonApplicationMenu_DropDownOpened(object sender, System.EventArgs e)
    {
        DependencyObject popupObj = base.GetTemplateChild("PART_Popup");
        Popup popupPanel = (Popup)popupObj;
        popupPanel.Width = (double)GetValue(PopupWidthProperty);
    }
}

omo observação, tentei encontrar uma maneira de resolver a largura desejada com base na largura máxima dos itens do ApplicationMenu (em vez de defini-la explicitamente através do DependencyProperty no XAML) - mas sem sucess
Dou meu desprezo aos "números mágicos", qualquer sugestão sobrenaquel será profundamente apreciado.

questionAnswers(2)

yourAnswerToTheQuestion