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

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

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

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

0 ответов

Другие вопросы по тегам