WPF: Star in ColumnDefinition no expande columnas

Tengo un control de usuario que necesita que la primera y la tercera columna tengan el mismo ancho en todo momento. Mi código es el siguiente:

<UserControl x:Class="UserControls.ListBoxSelector"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="5*" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="5*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <ListBox x:Name="ListBox_Source" Grid.Column="0" Grid.Row="0" />
        <StackPanel Grid.Column="1" Grid.Row="0" Orientation="Vertical">
            <Button Content="&gt;" Click="Button_Add_Click"/>
            <Button Content="&lt;" Click="Button_Remove_Click" />
        </StackPanel>
        <ListBox x:Name="ListBox_Destination" Grid.Column="2" Grid.Row="0" />
    </Grid>
</UserControl>

El resultado no es el esperado ya que la columna 3 (ListBox_Destination) no se expande en absoluto. ¿No es el 5 * en ColumnDefinition suficiente para forzar el cuadro de lista 2 al mismo ancho?

ACTUALIZADO: Lo siento, olvidé mencionar que el problema solo ocurre cuando coloco el control dentro de un RibbonGroup usar Cinta de Microsoft para WPF

preguntado el 27 de agosto de 11 a las 15:08

Sí, eso hará que cada uno de ellos use la misma cantidad del ancho disponible restante. Tu ejemplo funciona bien para mí. ¿Cuál es el problema que está viendo? -

2 Respuestas

A veces, cuando coloca su control en tipos certianos de controles de diseño (como un StackPanel), no tendrá el tamaño esperado porque el diseño principal solo ajustará el tamaño del niño al tamaño mínimo deseado (lo suficiente para mostrar el contenido). Esta puede ser la razón por la que ve esto cuando lo coloca en RibbonGroup. Intente darle a su cuadrícula un Width o MinWidth y vea si eso hace una diferencia.

Respondido 28 ago 11, 08:08

sí, obliga a las columnas 1 y 3 a tener el mismo tamaño, pero no garantiza que el contenido (listboxes) dentro de las columnas sea del mismo tamaño. Tienes que configurar el tamaño del contenido para que ocupe todo el espacio.

Respondido 27 ago 11, 20:08

No es necesario establecer el ancho en un cuadro de lista, ya que el HorizontalAlighnment predeterminado está configurado para estirar. - Brent Stewart

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.