Show window based on button name
<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();
}
}
}
Related examples in the same category