2016-05-16 4 views
0

Hallo alle und danke dies für das Lesen,WPF Listview Hintergrundfarbe für 1 colomn

ich eine WPF-Anwendung für eine HotelSystem haben, im die getroffenen/reservierten Zimmer in einer Listenansicht zeigt, dass einige Zimmer Eigenschaften wie nr hat, Typ, isReserved und so weiter. Ich bin in der Lage, die Farbe der Zeilen zu ändern, wenn der Raum isReseved == wahr ist, aber ich will nur die Spalte "IsReserved" ist nicht die ganzen Zeilen geändert und ich habe keine Antworten gefunden und nachdem ich einige Dinge in XAML, Hier bin ich.

XAML-Code:

<ListView.Resources> 
    <Style TargetType="{x:Type ListViewItem}"> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding IsReserved}" Value="True"> 
       <Setter Property="Background" Value="Orange" /> 
      </DataTrigger> 
     </Style.Triggers> 
    </Style> 
</ListView.Resources> 

My User Interface

Vielen Dank für Ihre Zeit!

Mit freundlichen Grüßen

+0

Sie können Ihre Hintergrundfarbe an eine Eigenschaft in Ihrer Datenquelle binden, bevor Sie die Listview auf Reservierung prüfen und den Eigenschaftswert ändern, wenn dieser reserviert wurde. – Eins

Antwort

0

Wenn Sie Spalte erwähnen, ich denke, Sie sagen, dass die ListView eine GridView als View hat.

In diesem Fall, anstatt den Stil für ListViewItem ändern, müssen Sie auf Sie Spalten Erklärung suchen, um die Spalte in Ihrem XAML, die Sie bewirken wollen finden, dann ist dies die Column.CellTemplate wie ändern:

<Column.CellTemplate> 
    <DataTemplate> 
     <Grid x:Name="Container"> 
     ...... 
     </Grid> 
     <DataTemplate.Triggers> 
     <DataTrigger Binding="{Binding Path=IsReserved}" Value="True"> 
      <Setter Property="Background" Value="Orange" TargetName="Container" /> 
     </DataTrigger> 
     <DataTemplate.Triggers> 
    </DataTemplate> 
</Column.CellTemplate> 
+0

Nein, hat es nicht, Entschuldigung für meine unkorrekte Terminologie, ich dachte, eine Spalte war der Name für das rote Rechteck in meinem UI-Bild. Ich bin nicht das, was in XAML expereinced ist, es ist nur ein ListView mit keinem Gitter oder irgendetwas anderem darin. @Eins, wie würde ich das tun, isReserved ist ein Bool, ich weiß nicht, wie man eine Farbe an diese Eigenschaft bindet.Vielen Dank für die wirklich schnellen Antworten! – user5716425

+0

Hallo und Entschuldigung für die Verzögerung Ich bin beschäftigt, an meiner Dissertation zu arbeiten, ich habe andere Wege versucht, aber das war eigentlich genau das, was ich wollte, ich hatte keine Gridview drin, also habe ich eines implementiert. @Eins ich möchte dir danken, denn mit deiner Antwort habe ich eine Funktion implementiert (binded a png to aproperty), um sie in der Listenansicht anzuzeigen. Danke euch beiden! – user5716425