В XAML, вы можете создать свой собственный многоразовый тип управления в качестве объекта UserControl, как это:XAML пользователя Тип управления Базовый элемент
<UserControl x:Class="MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Button Content="Test"/>
</Grid>
</UserControl>
Но вы также можете просто изменить базовый тип в этой точке зрения, чтобы быть таким же, введите в качестве содержимого контейнер следующим образом:
<Grid x:Class="MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Button Content="Test"/>
</Grid>
В чем разница между этими двумя вариантами? В моем примере они оба происходят от FrameworkElement
и расходятся в наследстве оттуда. Но похоже, что они действуют одинаково.
Я уверен, что есть веская причина для одного против другого, но у меня возникают проблемы с хорошим сценарием, чтобы оправдать различие. Может ли кто-нибудь просветить меня?