WPF: Как я могу получить шаблон, который был создан ContentTemplateSelector для конкретного ContentPresenter? - PullRequest
0 голосов
/ 28 сентября 2018

В моем приложении WPF я использую несколько ContentPresenters со специальным MarkupExtension, для которого требуется доступ к свойству ContentPresenter ContentTemplate.

MarkupExtension работает очень хорошо, за исключением того, что я только что обнаружил, что если ContentPresetner используетContentTemplateSelector, он не устанавливает свое собственное свойство ContentPresenter: скорее, и ContentPresenter, и результат ContentTemplateSelector сохраняются в закрытой переменной класса ContentPresenter, как можно увидеть здесь: ссылка на исходный код .Netдля ContentPresenter .

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

...