В демонстрационном приложении WPF Family Show пользовательские элементы управления создаются в главном окне ( MainWindow.xaml )
<!-- New User Control -->
<local:NewUserControl x:Name="NewUserControl"
HorizontalAlignment="Center" VerticalAlignment="Center"
AddButtonClick="NewUserControl_AddButtonClick"/>
Затем в коде( MainWindow.xaml.cs ), различные пользовательские элементы управления скрыты или отображаются в результате действий нажатия кнопки.
/// <summary>
/// Hides the New User Control.
/// </summary>
private void HideNewUserControl()
{
NewUserControl.Visibility = Visibility.Hidden;
DiagramControl.Visibility = Visibility.Visible;
enableButtons();
if (family.Current != null)
DetailsControl.DataContext = family.Current;
}
/// <summary>
/// Shows the New User Control.
/// </summary>
private void ShowNewUserControl()
{
HideFamilyDataControl();
HideDetailsPane();
DiagramControl.Visibility = Visibility.Collapsed;
WelcomeUserControl.Visibility = Visibility.Collapsed;
if (PersonInfoControl.Visibility == Visibility.Visible)
((Storyboard)this.Resources["HidePersonInfo"]).Begin(this);
NewUserControl.Visibility = Visibility.Visible;
NewUserControl.ClearInputFields();
NewUserControl.SetDefaultFocus();
... //Removed for brevity
}
Я рекомендую вам загрузить приложение Family Showпосмотреть исходный код или просмотреть хотя бы онлайн.
Вы можете поместить его в отдельное окно, как предложил Йоханнес Хофмайстер со своим ответом.
Основным преимуществом пользовательского элемента управления является то, что этот блок пользовательского интерфейса может использоваться в нескольких точках приложения.(Например, пользовательский элемент управления графического элемента управления с кнопками прокрутки, масштабирования и скриншота появится рядом с каждым графиком, что делает его идеальным кандидатом для пользовательского элемента управления).