Code: Select all
public class ConnectionStatusToColorConverter : IValueConverter
{
private readonly ThemeManager _manager;
public ConnectionStatusToColorConverter(ThemeManager manager)
{
_manager = manager ?? throw new ArgumentNullException(nameof(manager));
}
public object Convert(
object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is ConnectionStatus status)
{
return status switch
{
ConnectionStatus.Connected => _manager.GetStaticColorBrush(StaticColor.Green),
ConnectionStatus.Disconnected => _manager.GetStaticColorBrush(StaticColor.Red),
_ => _manager.GetStaticColorBrush(StaticColor.Red),
};
}
return Brushes.Transparent;
}
public object ConvertBack(
object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
{
// used for dependency injection
containerRegistry.RegisterInstance(ManagerLocator.Resolve().Value);
}
< /code>
Der ManagerLocator ist geschrieben und funktioniert auch wie erwartet - also funktioniert der DI in den ViewModels < /p>
Wenn ich also mit der Anwendung beginne, erhalte ich diesen Fehler: < /p>
system.winds. 'At.active.fbcv4.info.Converters.ConnectionStatostoColorConverter'. Sie können die Argumente oder FactoryMethod -Anweisungen verwenden, um diesen Typ zu konstruieren.>