我在星型网格列内有一个 Silverlight 5 列表框,在列表框 DataTemplate 内有另一个网格。
我想要做的是填充 DataTemplate 网格中第二列的可用空间。如下图所示,它仅填充到所包含文本的范围内。
如何让内容填满可用空间?
<ListBox x:Name="TopFaultsListBox" Margin="2" ItemsSource="{Binding TopFaults, Mode=OneWay}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled" SelectedIndex="-1" Background="{x:Null}"
BorderThickness="5" BorderBrush="#FFB1925C" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="#FFE29826">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock x:Name="FailureCount" Foreground="Red" FontSize="40" Grid.Row="0" Grid.RowSpan="3" Text="{Binding FaultCount}" Margin="10"/>
<TextBlock x:Name="AssemblyName" FontSize="20" Text="{Binding AssemblyName}" Grid.Column="1" Grid.Row="1"/>
<TextBlock x:Name="FaultInformation" FontSize="20" Text="{Binding FaultInformation}" Grid.Column="1" Grid.Row="2"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
最佳答案
您需要在ListBox的ItemContainerStyle
中指定HorizontalContentAlignment
并将其设置为Stretch
。默认值为左。
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListBox.ItemContainerStyle>
关于.net - Silverlight 5 列表框大小调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13918704/