У меня есть набор элементов управления с прикрепленными командами и логикой, которые постоянно используются повторно. Я решил создать пользовательский элемент управления, который содержит все общие элементы управления и логику.
Однако мне также нужен элемент управления для хранения содержимого, которое можно назвать. Я попробовал следующее:
<UserControl.ContentTemplate>
<DataTemplate>
<Button>a reused button</Button>
<ContentPresenter Content="{TemplateBinding Content}"/>
<Button>a reused button</Button>
</DataTemplate>
</UserControl.ContentTemplate>
Однако, кажется, что любой контент, размещенный внутри пользовательского элемента управления, не может быть назван. Например, если я использую элемент управления следующим образом:
<lib:UserControl1>
<Button Name="buttonName">content</Button>
</lib:UserControl1>
Я получаю следующую ошибку:
Невозможно установить значение атрибута Name 'buttonName' на элементе 'Button'. 'Button' - под элементом 'UserControl1', который уже имя, зарегистрированное, когда оно было определено в другой области.
Если я удалю buttonName, тогда он компилируется, однако мне нужно иметь возможность указывать содержимое. Как я могу достичь этого?