Hope your doing great,
I created ListView with three Context Actions, here I want to set different background color for each MenuItem like below ViewCell:
<?xml version="1.0" encoding="UTF-8"?>
<ViewCell xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="PureSale.Core.Views.OrdersListTemplate">
<Grid Padding="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackLayout Spacing="5">
<Label Text="{Binding Title}" FontAttributes="Bold" HorizontalOptions="StartAndExpand"/>
<Label Text="{Binding StartDate}" HorizontalOptions="StartAndExpand"/>
</StackLayout>
<Image Source="indicatorIconBlack.png" Grid.Column="1" HorizontalOptions="EndAndExpand" VerticalOptions="CenterAndExpand"/>
</Grid>
</ViewCell>
public partial class OrdersListTemplate : ViewCell {
public OrdersListTemplate(){
InitializeComponent();
var deleteAction = new MenuItem { Text = "Delete", StyleId = "labelRedStyle" };
deleteAction.SetBinding(MenuItem.CommandParameterProperty, new Binding("."));
deleteAction.Clicked += (sender, e) => {
};
var archiveAction = new MenuItem { Text = "Archive", IsDestructive = true};
archiveAction.SetBinding(MenuItem.CommandParameterProperty, new Binding("."));
archiveAction.Clicked += (sender, e) => {
};
var cancelAction = new MenuItem { Text = "Cancel" };
cancelAction.SetBinding(MenuItem.CommandParameterProperty, new Binding("."));
cancelAction.Clicked += (sender, e) => {
};
ContextActions.Add(cancelAction);
ContextActions.Add(archiveAction);
ContextActions.Add(deleteAction);
}
}
XAML
<ListView HasUnevenRows="true" ItemsSource="{Binding OrderItems}" ios:ListView.SeparatorStyle="FullWidth" SelectedItem="{Binding SelectedListItem}">
<ListView.ItemTemplate>
<DataTemplate>
<views:OrdersListTemplate/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
How can I set StyledId for menu items,
Please suggest me Thanks... in advance