Как я могу выбрать, где контент загружается в пользовательский элемент управления?
Я создаю довольно простой пользовательский элемент управления, который лучше всего описать как похожий на границу с некоторыми пользовательскими свойствами зависимостей. Я хотел бы поместить то, что когда-либо пользователь размещает в качестве контента, в центр моего пользовательского контроля. Hear-это урезанный макет того, что я пытаюсь сделать.
<usercontrol1> <grid> <border> <"this is where i would like content to load=""> <border> <grid> <usercontrol1>
Таким образом, при использовании в XAML нижеприведенное приведет к текстовому блоку, окруженному рамкой.
<window> <usercontrol1> <textblock text="Surround me with a border" margin="5"> <usercontrol1> <window>
Это всего лишь макет, и он не будет компилироваться. У меня нет IDE там, где я нахожусь. Если никто не ответит до того, как я завтра пойду на работу, я обновлю его действительным кодом. Также помните,что мой фактический пользовательский контроль имеет гораздо больше. Я раздел это, чтобы упростить вопрос, поэтому, пожалуйста, не предоставляйте ответы, которые предлагают не использовать пользовательский элемент управления, если только это не связано с тем, что мне нужно будет использовать пользовательский элемент управления.
Что я уже пробовал:
Я попытался использовать презентер контента, но независимо от того, что я сделал, загруженный пользователем контент заменил все в пользовательском элементе управления.
Philippe Mori
Ну, следующий поиск может дать вам некоторые подсказки : Бинг: элемент управления WPF декоратор Я не знаю достаточно о WPF, чтобы помочь вам больше.
ryanba29
Спасибо, Филипп. Я нашел некоторую полезную информацию об использовании шаблона элемента управления с пользовательским элементом управления, который выглядит так, как будто он может делать то, что мне нужно здесь https://www.codeproject.com/articles/82464/how-to-embed-arbitrary-content-in-a-wpf-control. Я попробую.
ryanba29
Филипп Мори, декоратор, был неправильным решением в этом случае, но это заставило меня искать в нужном месте. Если вы хотите использовать решение, которое я опубликовал, и опубликовать что-то подобное, я приму ваш ответ, если кто-то не придумает лучшего. Мне бы очень не хотелось задавать этот вопрос, а потом принимать свой собственный ответ.
Philippe Mori
Ну а еще лучше дать ответ из других комментариев, чтобы вообще не иметь ответа. Я не очень экспериментирую с WPF. Единственное, что я сделал, - это угадал относительно хорошую отправную точку поискового запроса.