mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
41 lines
1.4 KiB
C#
41 lines
1.4 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: ZuneUI.NavigationCommandHandlerBase
|
|
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
|
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
|
|
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
|
|
|
|
using System;
|
|
using System.Collections;
|
|
|
|
namespace ZuneUI
|
|
{
|
|
public abstract class NavigationCommandHandlerBase : ICommandHandler
|
|
{
|
|
protected string _pageUIPath;
|
|
|
|
public string UIPath
|
|
{
|
|
get => this._pageUIPath;
|
|
set => this._pageUIPath = value;
|
|
}
|
|
|
|
protected abstract ZunePage GetPage(IDictionary args);
|
|
|
|
public void Execute(string command, IDictionary commandArgs)
|
|
{
|
|
ZuneShell defaultInstance = ZuneShell.DefaultInstance;
|
|
if (defaultInstance == null)
|
|
throw new InvalidOperationException("No Shell instance has been registered. Unable to perform navigation.");
|
|
if (!Shell.IsUIPathEnabled(this.UIPath))
|
|
return;
|
|
ZunePage page = this.GetPage(commandArgs);
|
|
if (commandArgs != null)
|
|
page.NavigationArguments = commandArgs;
|
|
page.NavigationCommand = command;
|
|
if (this.UIPath != null)
|
|
page.UIPath = this.UIPath;
|
|
defaultInstance.NavigateToPage(page);
|
|
}
|
|
}
|
|
}
|