Navigate to an instance of a custom class, instead of a Page. : Page « Windows Presentation Foundation « C# / CSharp Tutorial






<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="WpfApplication1.HomePage"
  xmlns:local="clr-namespace:WpfApplication1"
  WindowTitle="Page that Navigates to an Object">
  <Page.Resources>
    <DataTemplate DataType="{x:Type local:Person}">
      <TextBlock xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
        <TextBlock FontWeight="Bold">Name:</TextBlock>
        <TextBlock Text="{Binding Path=Name}" />
        <LineBreak />
        <TextBlock FontWeight="Bold">Favorite Color:</TextBlock>
        <TextBlock Text="{Binding Path=FavoriteColor}" FontWeight="Bold">
          <TextBlock.Background>
            <SolidColorBrush Color="{Binding Path=FavoriteColor}" />
          </TextBlock.Background>
        </TextBlock>
      </TextBlock>
    </DataTemplate>
  </Page.Resources>
  <Hyperlink Name="hyperlink" Click="hyperlink_Click">Navigate to Nancy Davolio</Hyperlink>

</Page>
//File:Window.xaml.cs
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Media;

namespace WpfApplication1
{
    public partial class HomePage : Page
    {
        public HomePage()
        {
            InitializeComponent();
        }

        void hyperlink_Click(object sender, RoutedEventArgs e)
        {
            Person person = new Person("A", Colors.Yellow);
            this.NavigationService.Navigate(person);
        }
    }
    public class Person
    {
        string name;
        Color favoriteColor;

        public Person() { }
        public Person(string name, Color favoriteColor)
        {
            this.name = name;
            this.favoriteColor = favoriteColor;
        }

        public string Name
        {
            get { return this.name; }
            set { this.name = value; }
        }

        public Color FavoriteColor
        {
            get { return this.favoriteColor; }
            set { this.favoriteColor = value; }
        }
    }
}
WPF Navigate To An Instance Of A Custom Class Instead Of A Page








24.69.Page
24.69.1.Page Loaded eventPage Loaded event
24.69.2.Remember and navigate through multiple sets of state for a single page instanceRemember and navigate through multiple sets of state for a single page instance
24.69.3.Navigate to an instance of a custom class, instead of a Page.Navigate to an instance of a custom class, instead of a Page.
24.69.4.Create a button when the page loads.Create a button when the page loads.
24.69.5.UI With Page for Dynamic Button contentUI With Page for Dynamic Button content
24.69.6.A XAML browser application (XBAP) running in partial trust can safely upload files from a client machine.A XAML browser application (XBAP) running in partial trust can safely upload files from a client machine.