Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Navigate to an instance of a custom class, instead of a Page

<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.vb Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Media Namespace WpfApplication1   Public Partial Class HomePage     Inherits Page     Public Sub New()       InitializeComponent()     End Sub     Private Sub hyperlink_Click(sender As Object, e As RoutedEventArgs)       Dim person As New Person("A", Colors.Yellow)       Me.NavigationService.Navigate(person)     End Sub   End Class   Public Class Person     Private m_name As String     Private m_favoriteColor As Color     Public Sub New()     End Sub     Public Sub New(name As String, favoriteColor As Color)       Me.m_name = name       Me.m_favoriteColor = favoriteColor     End Sub     Public Property Name() As String       Get         Return Me.m_name       End Get       Set         Me.m_name = value       End Set     End Property     Public Property FavoriteColor() As Color       Get         Return Me.m_favoriteColor       End Get       Set         Me.m_favoriteColor = value       End Set     End Property   End Class End Namespace