×

First time here?

You are looking at the most recent posts. You may also want to check out older archives. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS or email. Thank you for visiting!

I’ve been playing around with the Silverlight 3 navigation framework some more (thanks for the comments/thoughts on the last post about sharing data).  I got a few emails about understanding how the navigation works and people coming up with interesting uses.  Let’s take a moment to explore two of these concepts: out-of-browser navigation and controlling your navigation in your app.

Navigation Basics

If you are using Visual Studio 2008 and the Silverlight 3 tools, you’ll notice that when you choose to create a new project (or perhaps you didn’t notice and this will be new to you) that you have an option to create a Silverlight Navigation Application which is a starter template for some basic navigation framework.  This isn’t required to use the navigation framework, but merely a starting point.

Silverlight Navigation Application template

Once you have this template and click on the different navigation buttons (and/or add your own as well) you’ll see that the content changes based on the event.  Additionally you should notice that the browser’s back/forward buttons integrate with this functionality and allow you to navigate back/forward using the browser controls as well, honoring the navigation context of the application.

Out-of-browser Navigation

So now you’ve finished your app, complete with navigation and also added the functionality to allow the application to be installed out-of-browser.  Yipee!  Your users install the application offline and boom, they call you and say “how do I go back to where I was?”  Well, ideally you’ve created an application that has good navigation points in it for them, but perhaps you want to add simple forward/back functionality while in out-of-browser mode similar to the in-browser buttons that come with their preferred Internet browsing software.

Guess what?  The navigation framework provides some APIs to help you that are a part of the Frame that you are navigating:

  • CanGoForward/CanGoBack
  • GoForward/GoBack

With these two you can emulate the same browser back/forward functionality.  Here’s an example using the default VS2008 navigation template.  In MainPage.xaml I’ve removed the branding information (your.application.name) and added the following (about line 30):

   1: <StackPanel Style="{StaticResource BrandingPanelStyle}" x:Name="JournalNav">
   2:     <Button Content="back" Style="{StaticResource PageLinkStyle}"
   3:         x:Name="NavBack" Click="NavBack_Click" />
   4:     <Button Content="forward" Style="{StaticResource PageLinkStyle}" 
   5:         x:Name="NavFwd" Click="NavFwd_Click" />
   6: </StackPanel>

The NavBack/NavFwd click functions look like this:

   1: private void NavBack_Click(object sender, RoutedEventArgs e)
   2: {
   3:     this.Frame.GoBack();
   4: }
   5:  
   6: private void NavFwd_Click(object sender, RoutedEventArgs e)
   7: {
   8:     this.Frame.GoForward();
   9: }

Now on the Frame that I’m using I added an event handler for Navigated that looks like this:

   1: private void Frame_Navigated(object sender, NavigationEventArgs e)
   2: {
   3:     NavBack.Opacity = Frame.CanGoBack ? 1 : 0;
   4:     NavFwd.Opacity = Frame.CanGoForward ? 1:0;
   5: }

And finally I’ve added a Loaded event handler to MainPage to handle the initial load:

   1: void MainPage_Loaded(object sender, RoutedEventArgs e)
   2: {
   3:     JournalNav.Visibility = App.Current.RunningOffline ? Visibility.Visible : Visibility.Collapsed;
   4: }

The end result is the application in-browser works fine and uses the browser software back/forward buttons.  When installed out-of-browser, you’ll notice that an application-specific “back” and “forward” links are created (only when they are applicable) and the user can still navigate the frame that way.

In browser:

Navigation in-browser

Out-of-browser:

Navigation out-of-browser

Simple enough and I would not have had to change anything about how I already used the navigation framework in my application.

Controlling your navigation history

The other comment I’ve got is if people wanted to have ultimate control over their history navigation and have some parts integrate with the browser and other parts not.  Let me introduce you to a property of Frame: JournalOwnership.  By default the setting is Automatic, which means that the frame integrates with the browser history journal.  Setting it to something else, like OwnsJournal for example, means that it will not automatically integrate and you are now responsible for that navigation. 

What this means is that you can have a frame that is independent of the browser navigation, but still leverage the power of the framework.  Let’s alter our default template and add one of our navigation pages to include it’s own navigation pages, but those we don’t want to be a part of the overall app. 

I’ve modified the MainPage to add a link to another page called SubNavigation.xaml which then looks like this:

   1: <StackPanel>
   2:     <StackPanel x:Name="JournalNav" Orientation="Horizontal">
   3:  
   4:         <Button Click="NavButton_Click" Tag="/Views/SubNav/SubNav1.xaml" Content="section 1" 
   5:                     Style="{StaticResource PageLinkStyle}"/>
   6:         <Button Click="NavButton_Click" Tag="/Views/SubNav/SubNav2.xaml" Content="section 2" 
   7:                     Style="{StaticResource PageLinkStyle}"/>
   8:  
   9:         <Button Content="back" Style="{StaticResource PageLinkStyle}" 
  10:             x:Name="NavBack" Click="NavBack_Click" />
  11:         <Button Content="forward" Style="{StaticResource PageLinkStyle}" 
  12:             x:Name="NavFwd" Click="NavFwd_Click" />
  13:     </StackPanel>
  14:     <navigation:Frame x:Name="SubFrame" JournalOwnership="OwnsJournal"
  15:             HorizontalContentAlignment="Stretch" Source="/Views/SubNav/SubNav1.xaml"
  16:                           VerticalContentAlignment="Stretch"
  17:                           Padding="15,10,15,10"
  18:                           Background="White"/>
  19: </StackPanel>

You’ll see it looks similar (just for demonstration purposes) and includes a Frame.  Notice the JournalOwnership property set to OwnsJournal.  Now I also have the same back/fwd links  and functions to control them (GoBack/GoForward) in this sample, but now since I (well, SubFrame) owns the journal, I’m responsible for the navigation.  So here’s what happens:

  • User navigates to app
  • User clicks “about” – browser history appended
  • User clicks “sub navigation” – browser history appended
  • Within the “sub navigation” page, user clicks “subnav 2” – browser history not updated
  • User clicks “back” within the “subnav 2” page – user is taken back to “subnav 1”

So By changing the JournalOwnership, I get the control to manage the journal navigation, but also have to remember that.

Summary

I hope these two little experiments help you look at the navigation feature in some new ways.  It’s really a great feature I’m having fun thinking about things out loud with you all and getting feedback and more ideas.  I can’t wait to see great Silverlight 3 applications built with our framework!

The code that I used for these experiments is available here: slnavexperiments1.zip.  You will need the Silverlight 3 developer tools to run this code.  You can obtain all those tools here at the Silverlight 3 beta information section.

Hope this helps!


This work is licensed under a Creative Commons Attribution By license.


4/6/2009 9:58 PM | # re: Managing Silverlight 3 navigation behavior
My basic feedback here is to again think at a higher level of abstraction. Nothing is preventing you from wrapping these in Behaviors that decorate whatever object(s) you want to use for navigation controls.
4/6/2009 10:21 PM | # re: Managing Silverlight 3 navigation behavior
Also, I really think the Frame itself shouldn't own the journal, but rather a model object should own it. (I am okay with allowing people to do it the way you suggest, but my preferred path isn't supported).

This is the same problem you get in WPF - the presumption that there is anything really unique between a NavigationWindow object and a Window object. Mostly, these seem to exist as separate house / separate bed entities because somebody must've thought it would've simplified tooling/discoverability.

However, they don't really make things easier to understand and just add a completely separate control hierarchy for this sort of interaction. And NavigationWindow is completely non-OO. It is a style of programming I call "architect's-kitchen-sink".
4/6/2009 10:24 PM | # re: Managing Silverlight 3 navigation behavior
Here is a good explanation of how much of a train wreck NavigationWindow/Frame is in WPF, if you aren't up to speed with WPF-land:

http://laurenlavoie.com/avalon/121
http://laurenlavoie.com/avalon/122

Lauren Lavoie is a 'Softie. The links above discuss "Island Frames" as though they are a feature rather than a hack. In a sense, they are a feature, just not a particularly well implemented one.
4/6/2009 10:28 PM | # re: Managing Silverlight 3 navigation behavior
John -- I can appreciate where you are going. My goal in demonstrating these experiments/thoughts is twofold: 1) to show fundamentals of the runtime (Silverlight) and 2) think out loud and get feedback and learn myself. You're definitely helping with #2 for me, so thank you for continuing to provide feedback!

I got enough basic questions about the nav framework and journaling that I chose to talk about it in simplest form. Yes, a view-model handling the databinding and property management would be ideal here and, in fact, was the original route I went. One of the challenges is that I didn't want to get into the weeds to much and crowd the core point I was trying to make about navigation management. Ideally I'd be using a view-model for the visibility properties of the navigation controls and bind to the application's properties rather than using loaded event handlers. But again, I'm trying first to demonstrate a fundamental in an atomic form.
4/7/2009 5:57 AM | # re: Managing Silverlight 3 navigation behavior
Hi at http://www.xamltemplates.net/sl you can find a complete theme for all the silverlight controls, check it out.
4/7/2009 11:23 AM | # re: Managing Silverlight 3 navigation behavior
Tim -- I am glad to hear it, but if you would kindly observe, I'm pointing out that JournalOwnership is MESSED UP. Journaling cannot be delegated to a VisualTree-agnostic model object. I brought this up to John Gossman months ago when he was talking on his blog about how busted RoutedUICommands were because they route commands through the VisualTree as opposed to the model.

I don't know how you can reasonably stick in a ViewModel that does open linking. Actually, I don't even think ViewModel is the right metaphor here. We're talking about a linking service that defines what the user can browse at will. Part of that "at will" requirement is navigating backward and forward, or just junking backward/forward completely and going with different views of navigation history, such as Fisheye.
4/7/2009 12:17 PM | # re: Managing Silverlight 3 navigation behavior
I've been playing with Navigation Framework in Silverlight 3 since MIX last month, and for the most part I like it, especially the the uri mapping feature.

The shortcoming I see isn't so much with the Navigation Framework itself as it is with the lack of a default mechanism for enabling end-user navigation in SLOOB. It's easy enough to add the controls as you did in the sample code. However, I would've expected something more like WPF's NavigationFrame where there's a default implementation that could be overridden and customized to to obtain the desired UX.

Just my two cents.
4/7/2009 12:22 PM | # re: Managing Silverlight 3 navigation behavior
Adam can you give me an example of what you mean? The Frame in Silverlight's navigation works the same in- and out-of-browser. Am I misunderstanding what you are saying?
4/7/2009 12:41 PM | # re: Managing Silverlight 3 navigation behavior
Tim - I think perhaps I wasn't clear enought before. I'm aware that nav works the same both and in and out of the browser. What I was getting at is that I as the developer I have to provide a mechanism (i.e. the Buttons you added in your sample) to enable the user to navigate my app if they're running it out of the browser. Here's what I'd have to end up doing:

1. Add a Forward and Back button to the control.
2. Add logic to determine if the app is in/out of the browser and hide/display my buttons as appropriate.
3. Add event handlers for the Forward and Back button to navigate as appropriate.
4. Add an event handler for the Navigated event to determine if the Forward and Back buttons should be enabled/disabled.

Like I said, this certainlny isn't complex and it's easy enough to do. However, my thought is that it's so easy that I'd almost expect some sort of default implementation baked into Silverlight.

I don't know how'd you'd do it. You could do something with the "Silverlight Navigation Application" project type, but that doesn't cover situations where a dev doesn't use that project type to create his/her nav app.
4/7/2009 12:47 PM | # re: Managing Silverlight 3 navigation behavior
Adam is basically right, and it goes back to the basic idea of "Why do I need a special class to indicate this Window is-a NavigationWindow?" Also, if Adam wants FF3-style nback/forward navigation with the dropdown box to select an arbitrary page, he has to have a more flexible journaling system.
4/7/2009 1:02 PM | # re: Managing Silverlight 3 navigation behavior
Adam -- yes, I understand now. Your last statement is a good one too "how'd you'd do it" -- putting the feature in a template would be fine if people used the template, but as you point out, not everyone will. What other thoughts would you have here? Some type of breadcrump automatic control (similar to how we have nav controls within ASPNET)?
4/7/2009 1:26 PM | # re: Managing Silverlight 3 navigation behavior
Not to answer for Adam, but I like your idea here, Tim. A NavigationTemplate that could have as its DataContext a collection of journals. Then you can visualize your navigation history any way you want, including multiple ways on the same page -- or even allowing the end-user to customize it to meet their accesibility needs. Good thinking.
4/7/2009 1:28 PM | # re: Managing Silverlight 3 navigation behavior
Tim - Breadcrumbs! Don't know why I didn't think of that before. Back in November/December of last year I was a building a set of WPF Wizard apps for a client using the Navigation Frame and Page, and I ended up building a WPF breadcrumb control to allow users to get to a specific point in the app. Something similar would work well in SL3. I'd imagine you could add a property called Display which could have a value of Always, Online, or Offline. This would be a great to have feature either in the SL3 runtime or as a part of the SL3 toolkit.
4/7/2009 1:47 PM | # re: Managing Silverlight 3 navigation behavior
Adam, it sounds like your Breadcrumbs control also allows the user to go to pages they've not yet visited (but perhaps the system haa pre-fetched)?

I call that a "Process Train" control as opposed to a pure "Breadcrumbs" control, stealing vocabulary from one of Oracle's products. database.in2p3.fr/.../web_complex005.htm

However, the big takeaway here is that both ProcessTrain and Breadcrumbs could be NavigationTemplate objects (probably instances of, or subclasses of DataTemplate). ProcesssTrain and Breadcrumbs could both simply be "dropped in" templates, similar to how with an ASP.NET DataGrid or Silverlight DataGrid allows you to drop in a TextBoxColumn, CheckBoxColumn, or if you are really up for customization, TemplateColumn.
4/7/2009 2:05 PM | # re: Managing Silverlight 3 navigation behavior
John - it actually was a breadcrumb and not a process train approach. A user could only get to a place in the app they had already been to, which is what the SL3 nav framework supports. I'm just looking for a baked in way to implement this so that developers don't have to do what Tim did every time they create a nav app. Once again, it's not difficult, but it's so simple you would almost expect there to be some tooling built into the SL3 runtime around it.
4/7/2009 2:32 PM | # re: Managing Silverlight 3 navigation behavior
A ProcessTrain would be a little harder to provide a canned template for, anyway.

However, it is a good example of integrating navigation history with an "open link service". We had a design discussion about this last week at work. Some controls are a combination of navigation history (journal entries w/ initialized viewmodel components) and "open link directories" (uri patterns w/ uninitialized viewmodel components -- in fact, the viewmodel isnt even known to the application at this point, only the link service is known at this point). Where I work, what we decided we want to do is declaratively drop in a MergeDictionaries-type command and just use a pair of DataTemplate objects to visualize it in an ItemsControl.
4/7/2009 2:57 PM | # re: Managing Silverlight 3 navigation behavior
You could actually take the ASP.NET nav paradigm one step further here by providing something similar to web.sitemap, where you define the structure of your app (i.e. hierarchy, views, uri mapping, etc.). You could then develop silverlight breadcrumb and menu controls and simply point them to the map for binding purposes. I've started playing around with this idea, just because it seems so incredibly simple, and should have a working prototype up within the next day or two.
4/7/2009 3:09 PM | # re: Managing Silverlight 3 navigation behavior
Yes, I think that sounds about right. A sitemap sounds like a good way to prototype it, too. Although, most open link systems don't have a monolithic site map, but instead object metadatas that links to one another. The classic example is a library allowing users to browse related titles. iBiblio format usually has a "cited" field, and "author" field, as well as "subject" field. The application integrator can then JOIN on these as keys. Navigation in "open link" systems is generally nearest-neighbor.

Not really sure what works best, sitemap or object metadata. My thought is if its object metadata then .NET class-level Attributes can be taged to ViewModel objects or Views (Pages)... although I personally don't like doing that this way I can see a lot of people liking it, as it's a lot like putting a Bindable field on a object to be consumed by DataForm.

Either way, sitemap or some metadata attributes, it provides the infrastructure concepts for discoverability of "link services".
4/8/2009 8:55 AM | # re: Managing Silverlight 3 navigation behavior
I've decided to dive into this issue in depth. My post on the topic is up and you can check it out here: http://tinyurl.com/bq7kmj
4/8/2009 9:12 PM | # re: Managing Silverlight 3 navigation behavior
Adam, that link is either wrong or you are spamming us with Vodafone advertisements??? I checked your twitter and the link is the same. Just a heads up =)
4/8/2009 9:35 PM | # re: Managing Silverlight 3 navigation behavior
I found Adam's blog post on his website: http://thinkfirstcodelater.com/blog/?p=7
4/8/2009 9:49 PM | # re: Managing Silverlight 3 navigation behavior
The gist of Adam's post is the following quote:

@So, in my opinion, yes, we do need some type of browser control in the Silverlight 3 navigation framework to accomodate SLOOB scenarios. As I started thinking about a bit more, I also realized there’s also no way to really define the structure of your Navigation Application. It’d be nice if Silverlight 3 stole a page (no pun intended) from ASP.NET and provided features similar to Web.sitemap, Menu, and SiteMapPath. This would allow developers to define the structure of their apps, and then bind these navigation controls to the application map.

I like that ASP.NET Site Navigation Providers don't force me to use Web.sitemap and allow me to provide the navigation structure of my application from an alternative data source, such as some form of "database". However, beyond getting the basic idea right, the actual API that ASP.NET exposes is just plain awful.
4/9/2009 6:09 AM | # re: Managing Silverlight 3 navigation behavior
John...Thanks for the heads up on the tinyurl issue. It's now resolved and the new tinyurl is http://tinyurl.com/d4vb2s. In the post I'm not suggesting that the ASP.NET navigation controls are simply ported to Silverlight. All I'm suggesting is that similar controls should be provided in Silverlight. If we're going to allow users to navigate and application in the browser, they should be able to navigate it out of the browser. Currently I'm working on some simple POC's that I'll post on my site and eventually on CodePlex.
4/9/2009 6:54 AM | # re: Managing Silverlight 3 navigation behavior
I know, I'm just saying it EXPLICITLY so Tim hears it.
4/10/2009 7:12 AM | # re: Managing Silverlight 3 navigation behavior
Tim,
can I integrate SL3B1 solution (Out of browser and another feature) with MOSS 2007. I want getting user certificate from his device (eg. etoken) and sign document in the MOSS library via SL. Is this possible?
4/10/2009 9:16 AM | # re: Managing Silverlight 3 navigation behavior
Andrzej -- you can't get a user cert from the device.
4/10/2009 5:15 PM | # re: Managing Silverlight 3 navigation behavior
Tim, thx ...
Any idea?
4/10/2009 6:19 PM | # re: Managing Silverlight 3 navigation behavior
Is it a windows-only solution? if so, then WPF.
4/11/2009 2:42 AM | # re: Managing Silverlight 3 navigation behavior
Tim, solution will be build on the MOSS 2007.
Can I integrate WPF with MOSS in getting user cert from device an sign the document in the library?
Thx.
Gravatar
4/11/2009 3:03 PM | # re: Managing Silverlight 3 navigation behavior
Tim,

Your article is very comprehensive and clear. thx a lot.

Is there a way to clear the historic of the naviguation ?
For example, i don't want to see the historic of a disconnected user.
4/14/2009 6:31 PM | # re: Managing Silverlight 3 navigation behavior
Andrzej - WPF will give you access to the full .NET Framework as well as full-trust on the user's machine so you can do certificate requests, etc.
4/15/2009 12:16 PM | # re: Managing Silverlight 3 navigation behavior
Sam -- we don't have any APIs to clear history. Can you clarify the need here? We'd love to plan for some scenarios, but want to understand the needed support first.
Gravatar
4/21/2009 12:59 AM | # re: Managing Silverlight 3 navigation behavior
Tim,

For example, my application have a login page and some pages with datas. When i'm authenticated in the application, the historic of the naviguation is recorded. that's sound good. But when i'm logout, the historic of the naviguation is always available. I would prefere that all the historic of MY application was cleared. I think it's more secure for the application and clear for the user.
4/22/2009 11:29 PM | # re: Managing Silverlight 3 navigation behavior
Hi Tim,
Is it possible to use this navigation framework if the pages are downloaded dynamically as you show in this video? silverlight.net/learn/learnvideo.aspx?video=65687

If not, is there another way to control the browser history in Silverlight 3?
4/23/2009 7:18 PM | # re: Managing Silverlight 3 navigation behavior
The navigation framework is just that...a framework. You can still have a page navigated and then load some controls into it dynamically.
5/23/2009 4:16 PM | # re: Managing Silverlight 3 navigation behavior
I'm trying to use the navigation service from within a page and just want to navigate to another page and it doesn't seem to work.

NavigationService fram = NavigationService.GetNavigationService(this);
frame.Navigate(new Uri("/Views/AboutPage.xaml",UriKind.Relative));

If I set a break point in teh AboutPage the initializeComponent code is hit but the UI doesn't reflect the aboutpage
5/23/2009 4:44 PM | # re: Managing Silverlight 3 navigation behavior
dsoltesz - is there an unhandeled exception occuring that you aren't seeing?
5/23/2009 4:47 PM | # re: Managing Silverlight 3 navigation behavior
No, I have all debugging turned on. I have break points set and can see everything flowing as it should.

I'm trying to use the navigation service from within a page and just want to navigate to another page and it doesn't seem to work.

I'm using the latest May Preview and the Silverlight Business Application template and I'm just trying to navigate to the about page from within the homepage (clicking home, about menu buttons works fine)

I've tried both ways

NavigationService fram = NavigationService.GetNavigationService(this);
frame.Navigate(new Uri("/Views/AboutPage.xaml",UriKind.Relative));

this.NavigationService.Navigate(new Uri("/Views/AboutPage.xaml",UriKind.Relative));

If I set a break point in the AboutPage the initializeComponent code is hit but the UI doesn't reflect the aboutpage
5/23/2009 4:48 PM | # re: Managing Silverlight 3 navigation behavior
dsoltesz - weird ... feel free to email me your solution and i can take a look.
5/23/2009 5:08 PM | # re: Managing Silverlight 3 navigation behavior
Ok, thanks. I sent a sample to you.
6/4/2009 12:29 PM | # re: Managing Silverlight 3 navigation behavior
dsoltesz,
I had the same problem with the navigation but i fugured it out that if i try to make the navigation while i'm in the OnNavigatedTo
than the method executes and returns True but the navigation simply does not happens. Than i moved the code
this.NavigationService.Navigate(new System.Uri("/Views/HomePage.xaml", System.UriKind.Relative));
and than the navigation started to work

In regard to the clearing the browser history, i agree with Sam
after logging out the user he/she can still initiate the access to the
protected pages.
6/4/2009 12:32 PM | # re: Managing Silverlight 3 navigation behavior
well, i forgot to write that i moved the statement from "OnNavigatedTo" in the "Loaded"
event handler that can be wire either explicitly in the constructor of declarativly in the xaml for the page.
10/23/2009 2:41 PM | # re: Managing Silverlight 3 navigation behavior
Hi!
I have a problem. I have a list of Project in Search page, and every Project has a Hyperlinkbutton that should show the details of the selected project on a new page.
It works, but it opens in the same page. Why is it so?
Here is my code:

<HyperlinkButton x:Name="HB_OpenProject" Content="Deatils" Tag="{Binding Id}"
Click="HB_OpenProject_Click" TargetName="_blank"/>

private void HB_OpenProject_Click(object sender, RoutedEventArgs e)
{
HyperlinkButton btn = sender as HyperlinkButton;
string ProjectId = btn.Tag.ToString();
this.NavigationService.Navigate(new Uri(string.Format("Project/{0}", ProjectId), UriKind.Relative));

}

Thanks for the answers!
1/22/2010 2:07 AM | # re: Managing Silverlight 3 navigation behavior
Can you please give me sample application for my following requirement -
I want a layout with -
1. Header.
2. Left Navigation (Collapsible Menu)
3. Content Page. (It should change as per the click on Collapsible Menu item).
4. Footer (with Current Content Page Name).
5. One Full Screen Button.
Can you please send me the above functionality ASAP. I have an urgent requirement. All should be in Silverlight Application only. Please Please .....


|---------------------------------------------------------------|
| Header.xaml |
|---------------------------------------------------------------|
| | |
|left.xaml | content.xaml |
| | |
|Full Screen Btn| |
|---------------------------------------------------------------|
footer.xaml |
|---------------------------------------------------------------|
6/24/2010 4:29 AM | # re: Managing Silverlight 3 navigation behavior
what is a <navigatin:Page and how to use in silverlight 3
12/21/2010 3:28 AM | # re: Managing Silverlight 3 navigation behavior
Really good article...
david bill @70-680
4/11/2011 11:59 AM | # 
Thanks for informative and helpful post, obviously in your blog everything is good.If you post informative comments on blogs there is always the chance that actual humans will click through. bali homes,
4/12/2011 6:50 AM | # re: Managing Silverlight 3 navigation behavior
glad to be here. i'm a web designer.. so i can say that you are amazing.. bali villas
4/13/2011 2:29 AM | # good
A very interesting article, interesting ideas and a lot of good questions posed Thanks for your insight for the great written piece.
4/22/2011 2:45 AM | # re: Managing Silverlight 3 navigation behavior
Thanks for sharing the useful coding. I have searched for it several times in Google..Travel Baby Cribs
6/4/2011 3:16 AM | # re: Managing Silverlight 3 navigation behavior
I liked the theme of this blog and the fact that the content provided is pretty nice. Will come back to read more.
Freshersworld||IT jobs
6/18/2011 6:43 PM | # re: Managing Silverlight 3 navigation behavior
Nice post! Thank you so much for the article! I would also like to share you my articles about air pump and air compressor, hope you will like it. Thank’s

Solbriller
Billige solbriller
Glidmedel
6/26/2011 7:30 PM | # re: Managing Silverlight 3 navigation behavior
A very interesting article, interesting ideas and a lot of good questions posed Thanks for your insight for the great written piece. termite treatment cost
7/21/2011 4:04 AM | # re: Managing Silverlight 3 navigation behavior
I really loved reading your blog. It was very well authored and easy to understand. Unlike additional blogs I have read which are really not that good. I also found your posts very interesting. Rockwool Insulation
7/25/2011 1:26 PM | # re: Managing Silverlight 3 navigation behavior
What this means is that you can have a frame that is independent of the browser navigation, but still leverage the power of the framework. Let’s alter our default template and add one of our navigation pages to include it’s own navigation pages, but those we don’t want to be a part of the overall app. lingerie
7/26/2011 1:49 AM | # re: Managing Silverlight 3 navigation behavior
a I want to take this moment to say that I really love this blog. I love blooming flowers! Now you can send flowers to Uk through expert
tærte opskrifter
mobiltelefoner uden abonnement
boliglån






8/28/2011 8:56 PM | # re: Managing Silverlight 3 navigation behavior
It’s very informative posting, actually I’m new in the domain matter, so this writing help me much increase my knowledge.
8/31/2011 3:21 AM | # re: Managing Silverlight 3 navigation behavior
I am very enjoyed for this blog. Its an informative topic. It help me very much to solve some problems. Its opportunity are so fantastic and working style so speedy. I think it may be help all of you. Thanks a lot for enjoying this beauty blog with me. I am appreciating it very much! Looking forward to another great blog. Good luck to the author! all the best..
Norske Spilleautomater

 
Please add 2 and 4 and type the answer here:

All postings/content on this blog are provided "AS IS" with no warranties, and confer no rights. All entries in this blog are my opinion and don't necessarily reflect the opinion of my employer or sponsors. The content on this site is licensed under a Creative Commons Attribution By license.