//mainwindow.xaml
<Window x:Class="WpfApp233.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp233"
WindowState="Maximized"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Frame x:Name="mFrame" Navigated="mFrame_Navigated" />
</Grid>
</Window>
//mainwindow.xaml.cs
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using WpfApp233.Pages;
namespace WpfApp233
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
MainPage mPage=new MainPage();
mFrame.Navigate(mPage);
}
private void mFrame_Navigated(object sender, NavigationEventArgs e)
{
var pg=e.Content as Page;
if(pg!=null)
{
this.Title = pg.Title;
}
}
}
}
//MainPage.xaml
<Page x:Class="WpfApp233.Pages.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="MainPage">
<Page.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="FontSize" Value="50"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"
RecognizesAccessKey="True"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Grid.Row="0"
Grid.Column="0"
Content="1"
Click="Button_Click">
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/1.jpg"
Stretch="Uniform"/>
</Button.Background>
</Button>
<Button Grid.Row="0"
Grid.Column="1"
Content="2"
Click="Button_Click">
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/2.jpg"
Stretch="Uniform"/>
</Button.Background>
</Button>
<Button Grid.Row="0"
Grid.Column="2"
Content="3"
Click="Button_Click">
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/3.jpg"
Stretch="Uniform"/>
</Button.Background>
</Button>
<Button Grid.Row="0"
Grid.Column="3"
Content="4"
Click="Button_Click">
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/4.jpg"
Stretch="Uniform"/>
</Button.Background>
</Button>
<Button Grid.Row="0"
Grid.Column="4"
Content="5"
Click="Button_Click">
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/5.jpg"
Stretch="Uniform"/>
</Button.Background>
</Button>
<Button Grid.Row="1"
Grid.Column="0"
Content="6"
Click="Button_Click">
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/6.jpg"
Stretch="Uniform"/>
</Button.Background>
</Button>
<Button Grid.Row="1"
Grid.Column="1"
Content="7"
Click="Button_Click">
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/7.jpg"
Stretch="Uniform"/>
</Button.Background>
</Button>
<Button Grid.Row="1"
Grid.Column="2"
Content="8"
Click="Button_Click">
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/8.jpg"
Stretch="Uniform"/>
</Button.Background>
</Button>
<Button Grid.Row="1"
Grid.Column="3"
Content="9"
Click="Button_Click">
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/9.jpg"
Stretch="Uniform"/>
</Button.Background>
</Button>
<Button Grid.Row="1"
Grid.Column="4"
Content="10"
Click="Button_Click">
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/10.jpg"
Stretch="Uniform"/>
</Button.Background>
</Button>
</Grid>
</Page>
//mainpage.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApp233.Pages
{
/// <summary>
/// Interaction logic for MainPage.xaml
/// </summary>
public partial class MainPage : Page
{
List<Page> pagesList = new List<Page>();
int idx = 0;
private Frame mf;
public MainPage()
{
InitializeComponent();
InitPagesLis();
mf = Application.Current?.MainWindow.FindName("mFrame") as Frame;
}
private void InitPagesLis()
{
pagesList.Add(new Page1());
pagesList.Add(new Page2());
pagesList.Add(new Page3());
pagesList.Add(new Page4());
pagesList.Add(new Page5());
pagesList.Add(new Page6());
pagesList.Add(new Page7());
pagesList.Add(new Page8());
pagesList.Add(new Page9());
pagesList.Add(new Page10());
}
private void Button_Click(object sender, RoutedEventArgs e)
{
try
{
var btn = sender as Button;
if(btn!=null)
{
string idxStr = btn.Content?.ToString();
Int32.TryParse(idxStr, out idx);
if (mf != null)
{
var tempPage = pagesList[idx-1];
mf.Navigate(tempPage);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
//Page1
<Page x:Class="WpfApp233.Pages.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page1">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/1.jpg"
Stretch="Uniform"/>
</Grid.Background>
</Grid>
</Page>
//Page2
<Page x:Class="WpfApp233.Pages.Page2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page2">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/2.jpg"
Stretch="Uniform"/>
</Grid.Background>
</Grid>
</Page>
//Page3
<Page x:Class="WpfApp233.Pages.Page3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page3">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/3.jpg"
Stretch="Uniform"/>
</Grid.Background>
</Grid>
</Page>
//Page4
<Page x:Class="WpfApp233.Pages.Page4"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page4">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/4.jpg"
Stretch="Uniform"/>
</Grid.Background>
</Grid>
</Page>
//Page5
<Page x:Class="WpfApp233.Pages.Page5"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page5">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/5.jpg"
Stretch="Uniform"/>
</Grid.Background>
</Grid>
</Page>
//Page6
<Page x:Class="WpfApp233.Pages.Page6"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page6">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/6.jpg"
Stretch="Uniform"/>
</Grid.Background>
</Grid>
</Page>
//Page7
<Page x:Class="WpfApp233.Pages.Page7"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page7">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/7.jpg"
Stretch="Uniform"/>
</Grid.Background>
</Grid>
</Page>
//Page8
<Page x:Class="WpfApp233.Pages.Page8"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page8">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/8.jpg"
Stretch="Uniform"/>
</Grid.Background>
</Grid>
</Page>
//Page9
<Page x:Class="WpfApp233.Pages.Page9"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page9">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/9.jpg"
Stretch="Uniform"/>
</Grid.Background>
</Grid>
</Page>
//Page10
<Page x:Class="WpfApp233.Pages.Page10"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp233.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Page10">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/10.jpg"
Stretch="Uniform"/>
</Grid.Background>
</Grid>
</Page>