Como alguém usa a classe UWP MarkupExtension?

O SDK de atualização de criadores de outono adicionou uma classe de extensão de marcação, ótimo.https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.markup.markupextension

Então, eu crio um e substituo e o método "ProvideValue".

public class MDL2 : MarkupExtension
{
    ...

    public string Target { get; set; }

    protected override object ProvideValue()
    {
        ...
    }
}

Eu tento usá-lo como tal em um estilo:

<Setter Property="IconGlyph" Value="{u:MDL2 Target='Delete'}" />

Agora, isso chamará adequadamente o construtor para minha extensão MDL2 e definirá a propriedade Target como um valor de seqüência de caracteres "Excluir". Por enquanto, tudo bem.

Exceto que a substituição de ProvideValue nunca é chamada e, agora, ao acessar o TemplateBinding para IconGlyph, receboSystem.Runtime.InteropServices.COMException: Error HRESULT E_F,AIL has been returned from a call to a COM component. at Windows.UI.Xaml.FrameworkElement.MeasureOverride(Size availableSize) aparentemente sem nenhuma tentativa de obter o valor das extensões de marcação.

O que realmente está acontecendo é que, em vez de Invocar o método ProvideValue, ele está definindo o valor da propriedade também como a instância do MarkupExtension ... o que não é muito o que eu quero e nem como eu esperaria que as extensões de marcação funcionassem.

Então, eu sei que provavelmente não haverá muitas respostas para isso, mas alguém já brincou com essa classe e conseguiu que ela funcionasse bem na UWP? Isso é esperado? Estou sendo idiota no meu uso?

(Na verdade, nunca usei o MarkupExtension de qualquer forma antes, talvez eu esteja ...)

questionAnswers(1)

yourAnswerToTheQuestion