XamlServiceProviderCatcher ru - Leksiqq/WpfMarkupExtension GitHub Wiki

Класс XamlServiceProviderCatcher

Применяется в ресурсах окна с целью дальнейшего доступа к соответствующему объекту типа IServiceProvider из кода, главным образом для вызова метода ProvideValue(...).

Свойства

  • ServiceProvider - возвращает сохранённый ранее объект типа IServiceProvider.

Пример

В словаре ресурсов MainWindow.xaml:


<Window ...
        xmlns:l="clr-namespace:Net.Leksi.WpfMarkup;assembly=Net.Leksi.WpfMarkupExtension"
>
<Window.Resources>
    <ResourceDictionary>
        ...
            <l:XamlServiceProviderCatcher x:Key="SPC"/>
        ...
    </ResourceDictionary>
</Window.Resources>

В MainWindow.xaml.cs:

...
    ParameterizedResourceExtension pre = new("ValueCellTemplate");
    pre.Replaces = new string[] { $"$path:{path}" };
    DataTemplate? template = pre.ProvideValue((FindResource("SPC") as XamlServiceProviderCatcher)!.ServiceProvider!) as DataTemplate;
...

Раньше: (ParameterizedResource) Начало:(Обзор) Дальше:(BindingProxy)