desde this question, taladré el problema en un cuadro de lista, que no cambia de tamaño, cuando se reducen los elementos de Listbox. Cambia el tamaño en consecuencia, cuando el tamaño de los elementos crece, pero no se reduce, cuando el tamaño de los elementos disminuye.Silverlight 4: Listbox no se contrae cuando sus elementos se contraen
Los elementos pueden aumentar o disminuir debido a que los elementos que contienen cuadros de texto cambian de tamaño con la entrada.
Jeremías sugiere comenzar una nueva pregunta con más código para mostrar, así que aquí vamos:
Nuestro cuadro de lista el mal es parte de un control de usuario, que contiene un StackPanel con una etiqueta (HorizontalAlignment = centro), el cuadro de lista (HA = izquierda) y un botón (HA = derecha). Los elementos del cuadro de lista están enlazados a un ObservableCollection
Reconocerá hermosos BackgroundColors en el ListBox y los ListBoxItems. Los usé para poder decir si los Items o el Listbox en sí mismo no se contraen. Descubrí que los Artículos se encogen, pero el Listbox no.
Ok, aquí está el código de mi control de usuario:
<StackPanel VerticalAlignment="Top" HorizontalAlignment="Left">
<StackPanel.Background>
<SolidColorBrush Color="{StaticResource ColorBasicDark}"/>
</StackPanel.Background>
<sdk:Label x:Name="LabelServiceName" FontSize="{StaticResource FontSizeMedium}" Margin="2" HorizontalAlignment="Center" Content="LabelServiceName">
<sdk:Label.Foreground>
<SolidColorBrush Color="{StaticResource ColorBasicLight}"/>
</sdk:Label.Foreground>
</sdk:Label>
<ListBox x:Name="ListBoxCharacteristics" BorderBrush="{x:Null}" Margin="0" HorizontalContentAlignment="Left" FontSize="9.333" HorizontalAlignment="Left">
<ListBox.Foreground>
<SolidColorBrush Color="{StaticResource ColorBasicLight}"/>
</ListBox.Foreground>
<!-- DataTemplate to display the content -->
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel x:Name="StackPanelBorder" Orientation="Horizontal" HorizontalAlignment="Left">
<TextBox x:Name="TextBoxCharacteristicName" Style="{StaticResource InputTextBox}" Text="{Binding Name}" />
<TextBox x:Name="TextBoxSep" Style="{StaticResource ReadOnlyTextBox}" Text="=" />
<TextBox x:Name="TextBoxFuncOrValue" Style="{StaticResource InputTextBox}" Text="{Binding Value.Text}" />
<TextBox x:Name="TextBoxValue" Style="{StaticResource ReadOnlyTextBox}" />
<Button x:Name="ButtonRemove" Style="{StaticResource BasicButtonStyle}" Content="-" Click="ButtonRemove_Click" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="Background" Value="Yellow" />
</Style>
</ListBox.ItemContainerStyle>
<ListBox.Background>
<SolidColorBrush Color="Red" />
</ListBox.Background>
</ListBox>
<Button x:Name="ButtonAddCharaDisplayObject" Style="{StaticResource BasicButtonStyle}" Content="+" HorizontalAlignment="Right" Click="ButtonAddCharaDisplayObject_Click" />
</StackPanel>
no tengo ni idea de por qué el cuadro de lista no se encoge cuando el tamaño de los elementos se reducen, aunque he establecer el tamaño de cuadro de lista' en Auto y HorizontalAlignment a la izquierda
Gracias de antemano, Frank
Gracias por tomarse el tiempo para publicar esta solución en su propia pregunta. ¡Estaba teniendo el mismo problema y esto funcionó de maravilla! –