Вы можете создать общий файл с выделенным кодом без XAML-файла:
public class CustomUserControl<T>: UserControl
{ }
и чем он является производным от конкретного класса в качестве параметра:
public partial class SpecificUserControl : CustomUserControl<Presenter>
{
public SpecificUserControl()
{
InitializeComponent();
}
}
XAML:
<application:CustomUserControl
x:TypeArguments="application:Presenter"
xmlns:application="clr-namespace:YourApplicationNamespace"
...
К сожалению, похоже, что дизайнер Visual Studio не поддерживает такие обобщенные варианты, пока Visual Studio 2012 Update 2 (см. https://stackoverflow.com/a/15110115/355438)