Avaloniaui - Каков правильный способ внедрить ViewModels в представления, используя DI System на основе композиции?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Avaloniaui - Каков правильный способ внедрить ViewModels в представления, используя DI System на основе композиции?

Сообщение Anonymous »

Я новичок в Avalonia/ WPF, XAML и разработке настольных компьютеров в целом, поэтому, пожалуйста, прощайте и уточните любые связанные недоразумения, которые я демонстрирую. Я буду продолжать изучать доступную документацию, но мне трудно найти материал, в котором рассматривается точка, на которой я застрял. У меня есть некоторое знакомство с пакетом Microsoft.extensions.EpectendencyInction, поэтому я пытался работать с этой системой. Я думаю, что у меня есть все концептуально в отношении регистрации служб и просмотров, а также настройки конструкторов для этих классов, так что структура будет вводить зависимости в эти классы на экземпляре. Однако, где я застрял,-это то, как реализовать инъекцию конструктора для классов просмотра.// App.axaml.cs
public partial class App : Application
{
private IServiceProvider _services;

public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}

public override void OnFrameworkInitializationCompleted()
{
ConfigureServiceProvider();

if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = _services.GetService();
}

base.OnFrameworkInitializationCompleted();
}

private void ConfigureServiceProvider()
{
var services = ConfigureServices();
_services = services.BuildServiceProvider();
}

private static IServiceCollection ConfigureServices()
{
var services = new ServiceCollection();

services.AddTransient();
services.AddTransient();

return services;
}
}
< /code>
Цель состоит в том, чтобы иметь возможность внедрить класс MainWindowViewModel в класс MainWindow через конструктор, а затем назначить этот аргумент в отношении свойства DataContext в классе MainWindow View: < /p>
< /p>


Подробнее здесь: https://stackoverflow.com/questions/711 ... ing-compos
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»