<Window x:Class="LayoutPanels.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Menu" Height="375.2" Width="252"> <Grid> <StackPanel Margin="5" Button.Click="ButtonClick"> <Button>SimpleStack</Button> <Button>SimpleWrap</Button> <Button>SimpleDock</Button> <Button>BasicDialogBox</Button> <Button>SimpleGrid</Button> <Button>SplitWindow</Button> <Button>DoubleSplitWindow</Button> <Button>SharedSizeGroup</Button> <Button>SimpleCanvas</Button> <Button>SimpleInkCanvas</Button> <Button>TheUniformGrid</Button> <Button>TextBoxColumn</Button> <Button>LocalizableText</Button> <Button>ModularContent</Button> </StackPanel> </Grid> </Window> //File:Window.xaml.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Reflection; namespace LayoutPanels { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void ButtonClick(object sender, RoutedEventArgs e) { Button cmd = (Button)e.OriginalSource; Type type = this.GetType(); Assembly assembly = type.Assembly; Window win = (Window)assembly.CreateInstance("YourNameSpace." + cmd.Content); win.ShowDialog(); } } }