protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (e.NavigationMode == NavigationMode.Back)
{
}
else if (e.NavigationMode == NavigationMode.Reset)
{
//do nothing we have everything we want already here
}
else
{
if (!string.IsNullOrWhiteSpace(this.NavigationContext.QueryString["data"]))
{
var unescapedData = HttpUtility.UrlDecode(this.NavigationContext.QueryString["data"]);
var deserializedObject = JsonConvert.DeserializeObject<Tuple<Thing, bool>>(unescapedData);
if (deserializedObject != null && deserializedObject.Item1.Data is Link)
{
var vm = new LinkViewModel(deserializedObject.Item1, ServiceLocator.Current.GetInstance<IBaconProvider>(), deserializedObject.Item2);
DataContext = vm;
if (vm.ContentIsFocused)
{
FocusContent();
}
else
DefocusContent();
}
}
else
{
var notificationService = ServiceLocator.Current.GetInstance<INotificationService>();
notificationService.CreateNotification("TLDR; something bad happened, send /u/hippiehunter a PM letting us know what you clicked on");
}
}
}
private bool ContentFocused