.
относится к свойству ;не знаю, почему XAML также не может искать вложенный класс, но это не так.
Вложенный класс может быть представлен внутри строки (например, значение свойства), используя A+B
вместо A.B
:
<Label SomeProperty1="{x:Static local:A+B.SomeProperty2}" />
В качестве имени элемента (как показано в вопросе), +
не допускается, так как результат больше не будет действительным XML;+
не является допустимым символом имени:
XAML - это XML .
XML Spec - NameChar .
Таким образом, имя элемента не может напрямую описывать вложенный класс.
НО см. ОБНОВЛЕНИЕ ниже - альтернативный синтаксис, который решает эту проблему.
ОБНОВЛЕНИЕ
Согласно комментарию @ Artfunkel к одному ответу, это должно быть решением [Я не проверял]: * 1036 *
<x:Type TypeName="local:A+B"/>
От: https://docs.microsoft.com/en-us/dotnet/framework/xaml-services/x-type-markup-extension
Как определить свойства с этим синтаксисом.Используйте x:TypeArguments
?