Внедрение зависимостей в XAML (WPF) - PullRequest
3 голосов
/ 04 мая 2010

Я создаю новый проект WPF, и мы используем Microsoft Unity в качестве DI.

У меня есть пользовательский элемент управления, который вызывает стороннюю службу.

Так что теперь, как внедрить зависимость из главного окна XAML для пользовательского контроля.

1 Ответ

0 голосов
/ 01 августа 2013

Вы можете использовать шаблон поиска услуг. Я использую его с Unity в качестве DI.

internal class ServiceLocator
{
    [...]
    public MainViewModel Main { get { return container.Resolve<MainViewModel>(); } }
}

Вы можете создать класс так, как хотите (DI или нет, класс инициализирует DI и т. Д.)

В вашем приложении. Xaml

<Application.Resources>
        <vm:ServiceLocator x:Key="Locator"/>
    </Application.Resources>

А теперь вы можете установить свой текстовый текст

DataContext="{Binding Main, Source={StaticResource Locator}}"

Edit:

Я нашел другой способ сделать это (среди прочего): Взгляните на эту статью . В команде вы можете разрешить свою модель представления так, как вам нравится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...