Wie man eine Abhängigkeit in einen WPF Ivalueconverter injiziert

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie man eine Abhängigkeit in einen WPF Ivalueconverter injiziert

by Anonymous » 29 Apr 2025, 12:48

Ich möchte meinem WPF IvalueConverter DI hinzufügen. Ich habe diese Frage hier bereits gefunden, aber sie funktioniert nur mit Xamarin . So lösen Sie eine Abhängigkeit von Ivalueconverter in Xamarin.formen mit Prism/Dryioc. Ich benutze Prism.wpf mit dem Unity -Container. Ist dies derzeit überhaupt möglich in WPF?

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();
}
}
Der themenanager wurde bereits in app.xaml.cs .protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
// 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.>

Top