C# 如何为列表框中的每个项目添加分隔符?
我正在用WPF写一个播放列表的音乐播放器。我的播放列表看起来是:C# 如何为列表框中的每个项目添加分隔符?,c#,wpf,listbox,C#,Wpf,Listbox,我正在用WPF写一个播放列表的音乐播放器。我的播放列表看起来是:但我希望每个项目都有分隔符。我尝试了一些方法,但都是用现成的数据源完成的。在我的播放列表中,我正在代码中添加歌曲 <ListBox x:Name="PlaylistBox" ScrollViewer.HorizontalScrollBarVisibility="Disabled" HorizontalAlignment="Left" Height="358"
但我希望每个项目都有分隔符。我尝试了一些方法,但都是用现成的数据源完成的。在我的播放列表中,我正在代码中添加歌曲
<ListBox
x:Name="PlaylistBox"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
HorizontalAlignment="Left"
Height="358"
Margin="19,274,0,0"
VerticalAlignment="Top"
Width="299"
Grid.ColumnSpan="2"
BorderThickness="0"
Foreground="White"
SelectionChanged="PlaylistBox_SelectionChanged"
MouseDoubleClick="PlaylistBox_MouseDoubleClick"
Background="Black"
AllowDrop="True"
Drop="PlaylistBox_Drop"/>
您可以使用项目模板来完成 在本例中,每个项目都被部分边框包围,在底部画一条线,给人一种分隔符的错觉
<ListBox x:Name="PlaylistBox" ...other properties...>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="0,0,0,2" BorderBrush="Black">
<Label Content="{Binding}"/>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
可能不适合您,因为我不知道您的项目类型
这只是一个非常基本的示例,可能有更好的方法,我不确定您是如何填充列表框的,请阅读有关MVVM的内容,并将您的项目绑定到模型中的集合中
在本例中,每个项目都被部分边框包围,在底部画一条线,给人一种分隔符的错觉
<ListBox x:Name="PlaylistBox" ...other properties...>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="0,0,0,2" BorderBrush="Black">
<Label Content="{Binding}"/>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
可能不适合您,因为我不知道您的项目类型
这只是一个非常基本的示例,可能有更好的方法,我不确定您是如何填充列表框的,请阅读有关MVVM的内容,并将您的项目绑定到模型中的集合中。从注释中可以清楚地看出,您正在将项目添加到列表播放框中。项目。添加(“此处的字符串”);如果是,请使用
\n`换行符:
示例如下:
string sample = "04 03:23 sample \n 11145kb .Mp3 44100kHz";
PlaylistBox.Items.Add(sample);
sample = "04 03:23 sample1 \n 11145kb .Mp3 44100kHz";
PlaylistBox.Items.Add(sample);
sample = "04 03:23 sample2 \n 11145kb .Mp3 44100kHz";
PlaylistBox.Items.Add(sample);
但我确信这不是一个好方法,更好的选择是用集合绑定列表。但是问题中的信息有限从评论中可以明显看出,您正在将项目添加到列表playlibox.items.Add(“此处字符串”);如果是,请使用
\n`换行符:
示例如下:
string sample = "04 03:23 sample \n 11145kb .Mp3 44100kHz";
PlaylistBox.Items.Add(sample);
sample = "04 03:23 sample1 \n 11145kb .Mp3 44100kHz";
PlaylistBox.Items.Add(sample);
sample = "04 03:23 sample2 \n 11145kb .Mp3 44100kHz";
PlaylistBox.Items.Add(sample);
但我确信这不是一个好方法,更好的选择是用集合绑定列表。但是问题中的信息有限能否请您包括绑定列表框的代码?您的意思是什么?都是播放列表代码。如何填充列表框?播放框。项目。添加(#项目#);你能举一个你想要的分离类型的例子吗?你能包括绑定listboxWhat的代码吗?都是播放列表代码。如何填充列表框?播放框。项目。添加(#项目#);你能举一个你想要的分离类型的例子吗?