Начнем с того, как вы упомянули, что у вас нет Blend, , У вас может быть Blend и установить его с помощью сообщества Visual Studio 2013.
Вы можете скачать это здесь, если у вас его еще нет.
http://www.visualstudio.com/products/visual-studio-community-vs
Часть процесса установки, позволяет выбрать и установить Blend. Кроме того, новые версии визуальной студии дают вам некоторую силу смешения. В своем дизайне вы можете щелкнуть правой кнопкой мыши элемент управления и создать или скопировать шаблон.
На вопрос.
As Euphoric упомянутый. Для создания пользовательского контроля требуется немного более глубокое знание WPF или любой из инфраструктур XAML. Тем не менее, есть шаблоны Visual Studio, которые могут помочь вам в правильном направлении.
Что касается имени шаблона, у вас есть три типа шаблонов, которые вы найдете в XAML.ControlTemplate (который для ваших целей является тем, который нас интересует), ItemsPanelTemplate и DataTemplate. Опять же, как сказал Euphoric, существует несколько обстоятельств, когда получение пользовательской версии любого из этих трех шаблонов принесет что-либо в таблицу.
Если вы должны были создать тестовое приложение WPF, как только вы создали основной проект и решение. Пойдите в голову и добавьте еще один проект, а из шаблонов VS предоставит File -> Project -> New -> Windows Desktop. В списке шаблонов проекта найдите «Библиотека пользовательского контроля WPF». После создания обратитесь к этому проекту в свой проект WPF.
Этот пользовательский контрольный библиотека проект предоставит вам схему скелета для того, что вы ищете.
Если вы посмотрите в этом проекте, вот некоторые вещи, которые вы можете отметить.
Firsty, вы найдете папку с именем Темы и в там файл с именем Generic.xaml. Там вы увидите стиль, в котором установлен сеттер Шаблон. Вы также увидите, что как стиля и установить ControlTemplate есть набор TargetType, который должен быть местными: CustomControl1.
Это важно, так как это показывает вам, как создать шаблон пользовательских элементов управления по умолчанию. Теперь, чтобы применить этот шаблон, посмотрите в CustomControl1.cs и рассмотрите следующий код.
DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomControl1), new FrameworkPropertyMetadata(typeof(CustomControl1)));
Для этого управления им CustomControl1, этот шаблон мы рассмотрели в XAML автоматически будет установлен в качестве этого шаблона управления по умолчанию, где когда-либо используется, что контроль.
Этот проект является хорошей отправной точкой. Но теперь вы можете переопределить этот элемент управления в своем основном проекте. Это просто. У меня есть код, который выглядит примерно так внутри моего основного проекта WPF.
В верхней части MainWindow.xaml
<Window x:Class="CustomControlTesting.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:CustomControl="clr-namespace:CustomControlTesting.CustomControlLibrary;assembly=CustomControlTesting.CustomControlLibrary"
Title="MainWindow" Height="350" Width="525">
И в теле,
<CustomControl:CustomControl1>
<CustomControl:CustomControl1.Template>
<ControlTemplate TargetType="{x:Type CustomControl:CustomControl1}">
<Grid>
<!-- Define my look to override the template -->
</Grid>
</ControlTemplate>
</CustomControl:CustomControl1.Template>
</CustomControl:CustomControl1>
Это краткий обзор и, конечно, скучает много. Но я надеюсь, что это поможет вам, и вы можете начать.
Если вы используете blend, вы можете создать новый шаблон, и он будет использовать исходное содержимое в качестве отправной точки. – Aphelion
У меня нет смеха печально – MyDaftQuestions
Мне просто интересно. Если вы хотите, чтобы у вас был шаблон, который вы классифицируете как рамки, не следует ли использовать Control вместо CustomControl? Может ли кто-нибудь подтвердить, правда ли это? http://wpftutorial.net/CustomVsUserControl.html. – Aphelion