2016-04-07 17 views
0

私はWPFでプレイリストを持つ音楽プレーヤーを書いています。私のプレイリストは次のように見えます:ListBoxの各項目に区切り記号を追加するにはどうすればいいですか?



しかし、私はすべての1つの項目を区切りにしたいと思います。私はいくつかの方法を試しましたが、すべて準備ができているデータソースを使用しています。私のプレイリストでは、コードで曲を追加しています。

<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"/> 
+0

リストボックスにバインドするコードを含めてください。 –

+0

どういう意味ですか?それはすべてのプレイリストコードです。 – Freshek

+0

リストボックスの作成方法 –

答えて

3

あなたは、すべてのアイテムは、セパレータの錯覚を与えて、一番下に線を引く、部分的な境界線で囲まれている。この例では項目テンプレート

でそれを行うことができます。

<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> 

<Label Content="{Binding}"/私はあなたのアイテムの種類が分からないので、>、あなたのために動作しない場合があります。

これは単なる非常に基本的な例ですが、これを行う良い方法があるかもしれません。リストボックスをどのように埋め込んでいるのかよく分かりません。MVVMについて読んで、アイテムをモデルのコレクションにバインドしてください。

ここ 例:あなたが行のN '\ PlaylistBox.Items.Add("String here"); if so useを一覧表示する項目を追加していることは明らかであるコメントから
+0

ええ、ありがとう。 :)いくつかの変更の後、それはよさそうだ。 – Freshek

0

が壊れる

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); 

しかし、これは良い方法ではありません確信して、より良いオプションが結合されますコレクションのリスト。限られた情報が質問にあります。

関連する問題