I'm trying to change the foreground color of the items in the ListBox individually for each item, I've already posted a similar question but this one is more concrete.
I hoped that the state of the color is reserved for each item added to the ListBox, so I tried to create a property (in this case "HotkeysForeground"), bind it and change the color when the items are added in the "HotkeyManager_NewHotkey" event, the problem it's changing the foreground color for all the items in the ListBox.
How can I do that per item ?
Here is the ViewModel I use.
namespace Monkey.Core.ViewModel
{
    using System;
    using System.Collections.ObjectModel;
    using System.Windows.Media;
    using Monkey.Core.SystemMonitor.Accessibility;
    using Monkey.Core.SystemMonitor.Input;
    public class MainWindowViewModel : WorkspaceViewModel
    {
        private readonly FocusManager _focusManager;
        private readonly HotkeyManager _hotkeyManager;
        private readonly ObservableCollection<string> _hotkeys;
        private Color _foregroundColor;
        private string _title;
        public MainWindowViewModel()
        {
            _hotkeys = new ObservableCollection<string>();
            _hotkeyManager = new HotkeyManager();
            _hotkeyManager.NewHotkey += HotkeyManager_NewHotkey;
            _focusManager = new FocusManager();
            _focusManager.Focus += FocusManager_Focus;
        }
        public Color HotkeysForeground
        {
            get
            {
                return _foregroundColor;
            }
            set
            {
                _foregroundColor = value;
                OnPropertyChanged(() => HotkeysForeground);
            }
        }
        public ReadOnlyObservableCollection<string> Hotkeys
        {
            get
            {
                return new ReadOnlyObservableCollection<string>(_hotkeys);
            }
        }
        public string Title
        {
            get
            {
                return _title;
            }
            set
            {
                _title = value;
                OnPropertyChanged(() => Title);
            }
        }
        protected override void OnDispose()
        {
            base.OnDispose();
            _hotkeyManager.Dispose();
            _focusManager.Dispose();
        }
        private void FocusManager_Focus(object sender, FocusManagerEventArgs e)
        {
            Title = e.Title;
        }
        private void HotkeyManager_NewHotkey(object sender, EventArgs eventArgs)
        {
            HotkeysForeground = _hotkeys.Count <= 2 ? Colors.Blue : Colors.Brown;
            _hotkeys.Clear();
            foreach (var hotkey in _hotkeyManager.GetHotkeys())
            {
                _hotkeys.Add(hotkey);
            }
        }
    }
}
Here is the view.
<Window x:Class="Monkey.View.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:System="clr-namespace:System;assembly=mscorlib"
        Title="{Binding Mode=OneWay, Path=Title, UpdateSourceTrigger=PropertyChanged}" Height="200" Width="200" ShowInTaskbar="False" WindowStyle="ToolWindow" Topmost="True" ResizeMode="CanResizeWithGrip" AllowsTransparency="False">
    <Window.Resources>
        <SolidColorBrush Color="{Binding HotkeysForeground}" x:Key="HotkeysBrush"/>
    </Window.Resources>
    <ListBox 
        Canvas.Left="110" 
        Canvas.Top="74" 
        Name="HotkeyList" 
        Height="Auto" Width="Auto" HorizontalContentAlignment="Left" 
        BorderThickness="0"
        ScrollViewer.CanContentScroll="False"
        ScrollViewer.HorizontalScrollBarVisibility="Disabled"
        ScrollViewer.VerticalScrollBarVisibility="Disabled"
        ItemsSource="{Binding Path=Hotkeys}" VerticalAlignment="Stretch" VerticalContentAlignment="Center" FontSize="20">
        <ListBox.ItemContainerStyle>
            <Style TargetType="ListBoxItem">
                <Setter Property="IsEnabled" Value="False" />
            </Style>
        </ListBox.ItemContainerStyle>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Label Content="{Binding}" Foreground="{StaticResource HotkeysBrush}"/>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</Window>
Thank you in advance.