Ich frage mich, wie könnte ich eine Farbe der Textzelle in einer ListView durch Bedingung ändern. Es spielt keine Rolle, ob es eine Hintergrundfarbe oder eine Textfarbe ist, ich möchte nur einige Zeilen markieren, abhängig von der Bedingung. Mein Codebeispiel unten.Wie kann ich einen TextColor oder eine Hintergrundfarbe einer TextCell in einem ListView unter der Bedingung
<ListView x:Name="lstData" HasUnevenRows="false" Footer="Footer" ItemSelected="OnSelection" >
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding OrderId}" Detail="{Binding OrderState}" />
</DataTemplate>
</ListView.ItemTemplate>
<ListView.FooterTemplate>
<DataTemplate>
<StackLayout Orientation="Horizontal" Padding="5,5,5,5">
<Button Text="New Order" Clicked="OnNewOrderClicked" />
</StackLayout>
</DataTemplate>
</ListView.FooterTemplate>
</ListView>
public ManageOrder()
{
InitializeComponent();
var vList = App.orderDatabase.GetAllOrders();
lstData.ItemsSource = vList;
for(int i=0; i < vList.Count(); i++)
{
if(vList[i].IsDispatched == false)
{
// **Change colour of text view**
}
}
}
Sie wollen wahrscheinlich, es zu tun, indem sie auch die Datenbindung. Werfen Sie einen Blick auf 'ValueConverters' oder die Template Selectors –
Danke! Template Selector hat mir sehr geholfen, ich habe versucht, ValueConverter vorher, aber es hat nicht funktioniert – George