Ho un problema quando creo dinamicamente un button e provo a cambiare il colore della scritta non succede nulla, dove sbaglio?? ho messo una if con entrambi i sistemi che ho provato sia Brushes che
SolidColorBrush.

codice:
WpfUtilityFunctions.ExecuteInWpfThread(() =>
            {
                ResourceDictionary _Resource1 = new ResourceDictionary();
                _Resource1.Source = new Uri("pack://application:,,,/InizializzaIndicatoriModule;component/Resources/ComposizioneStyle.xaml");
                //SR°° aggiunta la reverse per la corretta visualizzazione delle posizioni
                this.RotabiliCollection1 = new ObservableCollection<Button>();
                if (Convoglio.Rotabili != null)
                    Convoglio.Rotabili.Reverse();
                    int i=0;
                    foreach (Rotabile _rotabile in Convoglio.Rotabili)
                    {
                        Button btn = new Button();

                        if (matricolaCarrozza[i].ToString() != _rotabile.nrMatricolaRotabile.ToString() && posizioneCarrozza[i].ToString() == _rotabile.posizioneRotabile.ToString())
                        {
                            btn.Foreground = Brushes.Red;
                            btn.DataContext = _rotabile;
                            
                        }
                        else
                        {
                            btn.Foreground = new SolidColorBrush(Colors.Red);
                            btn.DataContext = _rotabile;
                            
                        }

                        //SR°° invertito il locotesta con lococoda per la corretta visualizzazione dei locomotori
                        if (_rotabile.tipoRotabile == ConStatoAppMatServ.TipoRotabileEnumType.CARROZZA)
                            btn.Template = (ControlTemplate)_Resource1["VetturaButton"];
                        else if (_rotabile.tipoRotabile == ConStatoAppMatServ.TipoRotabileEnumType.LOCOMOTORE && _rotabile.posizioneRotabile == "0")
                            btn.Template = (ControlTemplate)_Resource1["LocoCodaButton"];
                        else
                            btn.Template = (ControlTemplate)_Resource1["LocoTestaButton"];

                        RotabiliCollection1.Add(btn);
                    }
                OnPropertyChanged("RotabiliCollection1");
            });