從this question,我將這個問題深入到一個列表框,當Listbox-Items縮小時它不會調整大小。當物品的尺寸增加時,它會相應調整大小,但當物品尺寸減小時它不會縮小。Silverlight 4:當Listbox的項目收縮時,ListBox不收縮
項目可以增長/縮小,因爲包含文本框的項目會隨着輸入而調整大小。
耶利米建議開始與更多的代碼來顯示一個新的問題,所以在這裏我們去:
我們的邪惡列表框是一個用戶控件的一部分,它包含一個StackPanel用一個標籤(的HorizontalAlignment =中心),列表框(HA =左)和一個按鈕(HA =右)。列表框項目數據鏈接到ObservableCollection
您將在ListBox和ListBoxItems上識別出美麗的BackgroundColors。我用它們能夠分辨出項目或列表框本身沒有收縮。我發現,項目收縮,但列表框沒有。
好吧,這裏是我的用戶的代碼:
<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>
我不知道爲什麼,當項目的大小縮小列表框不縮水,雖然我已經設置了ListBox的大小自動和HorizontalAlignment以左
由於提前, 弗蘭克
感謝您花時間將此解決方案發布到您自己的問題中。我遇到了同樣的問題,而且效果很好! – 2011-06-23 13:24:49