Sincronización de anchos de control WPF en un WrapPanel

Tengo este caso

<code><WrapPanel>
    <CheckBox>Really long name</CheckBox>
    <CheckBox>Short</CheckBox>
    <CheckBox>Longer again</CheckBox>
    <CheckBox>Foo</CheckBox>
    <Slider MinWidth="200" />
</WrapPanel>
</code>

Quiero que todos los CheckBoxes dentro del WrapPanel tengan el mismo ancho.

Agregando lo siguiente casi logra el efecto deseado.

<code><WrapPanel.Resources>
    <Style TargetType="CheckBox" BasedOn="{StaticResource {x:Type CheckBox}}">
        <Setter Property="MinWidth" Value="75" />
    </Style>
</WrapPanel.Resources>
</code>

Sin embargo, no quiero codificar un ancho específico, en lugar de dejar que el CheckBox más grande establezca el ancho (lo anterior también falla si hay un ancho> 75).

El control deslizante es independiente y se debe permitir que sea más grande que los CheckBoxes.

No quiero usar una cuadrícula (con IsSharedSizeScope) ya que no quiero un número de columnas codificadas.

Este artículo presenta una solución interesante, pero sería bueno resolver el problema sin crear un control personalizado o usar el código C #.

¿Cuál es la mejor manera de hacerlo, preferiblemente solo en XAML?

Respuestas a la pregunta(3)

Su respuesta a la pregunta