2017-05-17 9 views
-1

私は与えられたタイプのオブジェクトのリストを表示するListViewを持っています。オブジェクトのプロパティの1つは色です。与えられた色で各行を色づける方法、またはそれを任意の図式で表示する方法はありますか?今のところ、別の列に色文字列を表示する方法しかわかりません。 オブジェクト:与えられたオブジェクトの色のリストビューの色付け

public class Parcel 
{ 
    public int parcelId { get; set; } 
    public int sizeX { get; set; } 
    public int sizeY { get; set; } 
    public int positionX { get; set; } 
    public int positionY { get; set; } 
    public int area { get; set; } 
    public Color color { get; set; } 

    private Random rnd = new Random(); 

    public Parcel(int id, int sX, int sY, int pX, int pY) 
    { 
     parcelId = id; 
     sizeX = sX; 
     sizeY = sY; 
     positionX = pX; 
     positionY = pY; 
     area = sX * sY; 
     color = Color.FromRgb((byte)rnd.Next(0, 256), (byte)rnd.Next(0, 256), (byte)rnd.Next(0, 256)); 
    } 
} 

リストビュー:

<ListView x:Name="listViewParcelsInContainer" HorizontalAlignment="Left" Height="201" Margin="115,309,0,0" VerticalAlignment="Top" Width="294"> 
     <ListView.View> 
      <GridView> 
       <GridViewColumn Header="ID PACZKI" DisplayMemberBinding="{Binding parcelId}"/> 
       <GridViewColumn Header="Szerokość (w cm)" DisplayMemberBinding="{Binding sizeX}"/> 
       <GridViewColumn Header="Długość (w cm)" DisplayMemberBinding="{Binding sizeY}"/> 
       <GridViewColumn Header="Powierzchnia(w cm^2)" DisplayMemberBinding="{Binding area}"/> 
       <GridViewColumn Header="Kolor" DisplayMemberBinding="{Binding color}"/> 
      </GridView> 
     </ListView.View> 
    </ListView> 
+0

私たちはあなたのコードを参照する必要があります。あなたが 'Binding'を使う時に私が知る限り、Propertyの型が目的の' Background'に合っていれば、問題はありません。 – XAMlMAX

答えて

0

使用ListViewItemスタイル:

<ListView x:Name="listViewParcelsInContainer" HorizontalAlignment="Left" Height="201" Margin="115,309,0,0" VerticalAlignment="Top" Width="294"> 
    <ListView.ItemContainerStyle> 
     <Style TargetType="ListViewItem"> 
      <Setter Property="Background"> 
       <Setter.Value> 
        <SolidColorBrush Color="{Binding color}"/> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </ListView.ItemContainerStyle> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="ID PACZKI" DisplayMemberBinding="{Binding parcelId}"/> 
      <GridViewColumn Header="Szerokość (w cm)" DisplayMemberBinding="{Binding sizeX}"/> 
      <GridViewColumn Header="Długość (w cm)" DisplayMemberBinding="{Binding sizeY}"/> 
      <GridViewColumn Header="Powierzchnia(w cm^2)" DisplayMemberBinding="{Binding area}"/> 
      <GridViewColumn Header="Kolor" DisplayMemberBinding="{Binding color}"> 
      </GridViewColumn> 
     </GridView> 
    </ListView.View> 
</ListView> 
+0

ありがとうございます。それは完全に動作します。 –

関連する問題