【发布时间】:2011-08-26 14:55:25
【问题描述】:
我有一个显示数据的列表框,每个项目都有一个小边框。问题是我只想要项目之间的边框,而不是列表的顶部或底部。我想如果我可以检索列表中的第一个 ListBoxItem,我可以将它的边框粗细设置为 0.0,这意味着边框只出现在列表项之间。
<ListBox Name="PerformanceList" ItemsSource="{Binding JFifoCollection}" HorizontalContentAlignment="Stretch">
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Name="ClearPerf" Click="MenuItem_Click" Header="Clear" />
</ContextMenu>
</ListBox.ContextMenu>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="0,1,0,0" BorderBrush="#ff000099">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Text="{Binding Path=tid}" Grid.Column="0" Grid.RowSpan="6" FontSize="65pt" VerticalAlignment="Center" />
<TextBlock Grid.Column="1" Grid.Row="0" FontWeight="Bold">hwcrc</TextBlock>
<TextBlock Text="{Binding Path=HWCRC}" Grid.Column="2" Grid.Row="0" />
<TextBlock Grid.Column="1" Grid.Row="1" FontWeight="Bold">frame count</TextBlock>
<TextBlock Text="{Binding Path=Frames}" Grid.Column="2" Grid.Row="1" />
<TextBlock Grid.Column="1" Grid.Row="2" FontWeight="Bold">fps</TextBlock>
<TextBlock Text="{Binding Path=FPS}" Grid.Column="2" Grid.Row="2" />
<TextBlock Grid.Column="1" Grid.Row="3" FontWeight="Bold">faults</TextBlock>
<TextBlock Text="{Binding Path=Faults}" Grid.Column="2" Grid.Row="3" />
<TextBlock Grid.Column="1" Grid.Row="4" FontWeight="Bold">info</TextBlock>
<TextBlock Text="{Binding Path=Info}" Grid.Column="2" Grid.Row="4" />
<TextBlock Grid.Column="1" Grid.Row="5" FontWeight="Bold">config</TextBlock>
<TextBlock Text="{Binding Path=Config}" Grid.Column="2" Grid.Row="5" />
</Grid>
</Border>
<DataTemplate.Triggers>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
可以这样做吗?
【问题讨论】:
-
您是否正在寻找每个项目周围的边框或每个项目之间的分隔线?
标签: wpf listbox border listboxitem