Существует проблема: какой контент вы помещаете в пользовательский элемент управления, например, <l: UserControl1> x </ l: UserControl> не может иметь именованного содержимого. Как добавить контент с именованными элементами? Ошибка компиляции: Невозможно установить значение атрибута Name x для элемента 'x. x находится в области действия элемента y, имя которого уже зарегистрировано, когда оно было определено в другой области.

ше задам вопрос на примере. Допустим, у меня есть UserControl и Window, который использует этот элемент управления.

Я хотел бы спроектировать этот элемент управления (названный MyControl) таким образом (это синтаксис научной фантастики!):

<Grid>
  <Button>Just a button</Button>
  <PlaceHolder Name="place_holder/>
</Grid> 

и использовать таким образом при проектировании моего окна:

<MyControl/>

или же

<MyControl>
  <place_holder>
    <Button>Button 1</Button>
  </place_holder>
</MyControl> 

или же

<MyControl>
  <place_holder>
    <Button>Button 1</Button>
    <Button>Button 2</Button>
  </place_holder>
</MyControl> 

Конечно, я хотел бы иметь возможность добавлять еще больше элементов в MyControl в Window. Таким образом, он должен работать как контейнер (например, Grid, StackPanel и т. Д.). Размещение будет определено в UserControl (в этом примере после кнопки «Просто кнопка»), но что добавить (какие элементы) будет определено в Window (где используется UserControl - MyControl -).

Я надеюсь, что это ясно, чего я хотел бы достичь. Ключевым моментом является использование XAML при разработке Window, поэтому мой класс должен быть не хуже других элементов управления.

Теперь большойВОПРОС это - как это сделать?

Замечания: стилизация выходит за рамки. Все, что я хочу сделать, это добавить любые элементы управления, которые я хочу, в MyControl при разработке Window (не при разработке MyControl).

Ответы на вопрос(2)

Ваш ответ на вопрос