RibbonApplicationMenu: deshacerse del Panel Auxiliar

ucedió que la aplicación en la que estoy trabajando no funciona con documentos, por lo que no es necesario mostrar la lista de documentos abiertos recientemente en el menú de la aplicación.
Pero, molestamente, no hay propiedades disponibles enRibbonApplicationMenu clase para ocultar el @ no utilizaAuxiliaryPane (para lo cual, curiosamente, la propiedad existe, pero está marcada como "interna").
Por supuesto, puedo dejarlo allí, pero eso es ... desordenado.

Entonces, aquí está la solución que se me ocurrió.
Espero que sea útil para cualquier otra persona: -)

a idea general es subclasificar laRibbonApplicationMenu, encuentre el elemento secundario correspondiente a la ventana emergente del menú y anule suWidth (después de una serie de frustrantes experimentos se hizo evidente que hacer eso tampoco paraPART_AuxiliaryPaneContentPresenter ni paraPART_FooterPaneContentPresenter - ni para los dos - podría lograr cualquier cosa).

Bueno, sin más preámbulos, aquí está el 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 nota al margen, intenté encontrar alguna forma de resolver el ancho deseado en función del ancho máximo de los elementos del menú de aplicación (en lugar de establecerlo explícitamente a través de la propiedad de dependencia en XAML), pero fue en vano.
Dijo mi desprecio a los "números mágicos", cualquier sugerencia sobrees será profundamente apreciado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta