Prism常用类库翻译
目录
prism常用类库翻译
Prism
PrismApplication
namespace Prism.Unity
{
public abstract class PrismApplication : PrismApplicationBase
{
protected PrismApplication();
protected override IContainerExtension CreateContainerExtension();
protected override void RegisterFrameworkExceptionTypes();
protected override void RegisterRequiredTypes(IContainerRegistry containerRegistry);
}
}
PrismApplicationBase
namespace Prism
{
//
// 摘要:
// 提供基本初始化序列的基本应用程序类
//
// 言论:
// 必须覆盖该类以提供特定于应用程序的配置。
public abstract class PrismApplicationBase : Application
{
protected PrismApplicationBase();
//
// 摘要:
// 用于解析对象的依赖注入容器
public IContainerProvider Container { get; }
//
// 摘要:
// 运行初始化序列来配置Prism应用程序。
public virtual void Initialize();
//
// 摘要:
// 配置Prism.Regions.IRegionBehaviorFactory。这将是列表
// 将添加到区域的默认行为。
protected virtual void ConfigureDefaultRegionBehaviors(IRegionBehaviorFactory regionBehaviors);
//
// 摘要:
// 配置Prism.Modularity。棱镜用imodecatalog。
protected virtual void ConfigureModuleCatalog(IModuleCatalog moduleCatalog);
//
// 摘要:
// 配置应用程序中使用的默认区域适配器映射
// 为了适应在XAML中定义的UI控件来使用区域并自动注册它。
// 可以在派生类中重写,以添加
// 应用程序。
//
// 返回结果:
// Prism.Regions。包含所有映射的RegionAdapterMappings实例。
protected virtual void ConfigureRegionAdapterMappings(RegionAdapterMappings regionAdapterMappings);
//
// 摘要:
// 为microsoft . practice . servicelocator . servicelocator配置位置提供程序。
protected virtual void ConfigureServiceLocator();
//
// 摘要:
// 配置Prism.Mvvm。Prism使用的ViewModelLocator。
protected virtual void ConfigureViewModelLocator();
//
// 摘要:
// 创建Prism使用的容器。
//
// 返回结果:
// 容器
protected abstract IContainerExtension CreateContainerExtension();
//
// 摘要:
// 创建Prism.Modularity。棱镜用imodecatalog。
//
// 言论:
// 基本实现返回一个新的模块atalog。
protected virtual IModuleCatalog CreateModuleCatalog();
//
// 摘要:
// 创建应用程序的外壳或主窗口。
//
// 返回结果:
// 应用程序的外壳。
protected abstract Window CreateShell();
//
// 摘要:
// 初始化模块。
protected virtual void InitializeModules();
//
// 摘要:
// 初始化壳。
protected virtual void InitializeShell(Window shell);
//
// 摘要:
// 包含应该最后发生的操作。
protected virtual void OnInitialized();
protected override void OnStartup(StartupEventArgs e);
//
// 摘要:
// 注册系统。不被视为根异常的异常类型
// by the System.ExceptionExtensions.
protected virtual void RegisterFrameworkExceptionTypes();
//
// 摘要:
// 注册Prism在容器中工作所需的所有类型。
//
// 参数:
// containerRegistry:
protected virtual void RegisterRequiredTypes(IContainerRegistry containerRegistry);
//
// 摘要:
// 用于向应用程序将使用的容器注册类型。
protected abstract void RegisterTypes(IContainerRegistry containerRegistry);
}
}
IActiveAware
namespace Prism
{
//
// 摘要:
// 接口,该接口定义对象实例是否处于活动状态并在
// 活动的变化。
public interface IActiveAware
{
//
// 摘要:
// 获取或设置一个值,该值指示对象是否处于活动状态。
//
// 值:
// 如果对象是活动的,则为true;否则错误。
bool IsActive { get; set; }
//
// 摘要:
// 通知Prism.IActiveAware的值。IsActive属性已更改。
event EventHandler IsActiveChanged;
}
}
Prism.Ioc
创建了一个依赖注入容器的抽象。您现在只使用Prism提供的IContainerRegistry和IContainerProvider接口,而不是直接使用容器类。该IContainerProvider 接口用于从容器解析服务,IContainerRegistry 用于与容器登记类型。
IContainerRegistry
using Prism.Ioc;
using System;
//IContainerRegistry
namespace Prism.Ioc
{
public interface IContainerRegistry
{
bool IsRegistered(Type type);
bool IsRegistered(Type type, string name);
IContainerRegistry Register(Type from, Type to);
IContainerRegistry Register(Type from, Type to, string name);
IContainerRegistry RegisterInstance(Type type, object instance);
IContainerRegistry RegisterInstance(Type type, object instance, string name);
IContainerRegistry RegisterSingleton(Type from, Type to);
IContainerRegistry RegisterSingleton(Type from, Type to, string name);
}
}
IContainerRegistryExtensions
containerRegistry.RegisterForNavigation();
namespace Prism.Ioc
{
public static class IContainerRegistryExtensions
{
public static bool IsRegistered<T>(this IContainerRegistry containerRegistry);
public static bool IsRegistered<T>(this IContainerRegistry containerRegistry, string name);
public static IContainerRegistry Register(this IContainerRegistry containerRegistry, Type type);
public static IContainerRegistry Register<T>(this IContainerRegistry containerRegistry);
public static IContainerRegistry Register(this IContainerRegistry containerRegistry, Type type, string name);
public static IContainerRegistry Register<T>(this IContainerRegistry containerRegistry, string name);
public static IContainerRegistry Register<TFrom, TTo>(this IContainerRegistry containerRegistry) where TTo : TFrom;
public static IContainerRegistry Register<TFrom, TTo>(this IContainerRegistry containerRegistry, string name) where TTo : TFrom;
public static IContainerRegistry RegisterInstance<TInterface>(this IContainerRegistry containerRegistry, TInterface instance);
public static IContainerRegistry RegisterInstance<TInterface>(this IContainerRegistry containerRegistry, TInterface instance, string name);
public static IContainerRegistry RegisterSingleton(this IContainerRegistry containerRegistry, Type type);
public static IContainerRegistry RegisterSingleton<TFrom, TTo>(this IContainerRegistry containerRegistry) where TTo : TFrom;
public static IContainerRegistry RegisterSingleton<TFrom, TTo>(this IContainerRegistry containerRegistry, string name) where TTo : TFrom;
public static IContainerRegistry RegisterSingleton<T>(this IContainerRegistry containerRegistry);
}
}
//===================
namespace Prism.Ioc
{
public static class IContainerRegistryExtensions
{
//
// 摘要:
// 在IDialogService中注册一个用作对话框的对象。
//
// 参数:
// containerRegistry:
//
// name:
// 要向对话框注册的惟一名称。
//
// 类型参数:
// TView:
// 要注册为对话框的对象类型
public static void RegisterDialog<TView>(this IContainerRegistry containerRegistry, string name = null);
//
// 摘要:
// 在IDialogService中注册一个用作对话框的对象。
//
// 参数:
// containerRegistry:
//
// name:
// 要向对话框注册的惟一名称。
//
// 类型参数:
// TView:
// 要注册为对话框的对象类型
//
// TViewModel:
// 要用作对话框的DataContext的视图模型
public static void RegisterDialog<TView, TViewModel>(this IContainerRegistry containerRegistry, string name = null) where TViewModel : IDialogAware;
//
// 摘要:
// 注册一个实现IDialogWindow的对象来托管所有的对话框
// in the IDialogService.
//
// 参数:
// containerRegistry:
//
// 类型参数:
// TWindow:
// 将用于在IDialogService中托管对话框的窗口类的类型
public static void RegisterDialogWindow<TWindow>(this IContainerRegistry containerRegistry) where TWindow : IDialogWindow;
//
// 摘要:
// 注册一个导航对象
//
// 参数:
// containerRegistry:
//
// type:
// 要注册的对象类型
//
// name:
// 向obect注册的惟一名称。
public static void RegisterForNavigation(this IContainerRegistry containerRegistry, Type type, string name);
//
// 摘要:
// 注册一个导航对象。
//
// 参数:
// containerRegistry:
//
// name:
// 要向对象注册的惟一名称。
//
// 类型参数:
// T:
// 要注册为视图的对象的类型
public static void RegisterForNavigation<T>(this IContainerRegistry containerRegistry, string name = null);
//
// 摘要:
// 属性使用ViewModel类型注册用于导航的对象
// DataContext.
//
// 参数:
// containerRegistry:
//
// name:
// 要向视图注册的惟一名称
//
// 类型参数:
// TView:
// 要注册为视图的对象类型
//
// TViewModel:
// 要用作视图数据文本的视图模型
public static void RegisterForNavigation<TView, TViewModel>(this IContainerRegistry containerRegistry, string name = null);
}
}
IContainerProvider
//IContainerProvider
namespace Prism.Ioc
{
public interface IContainerProvider
{
object Resolve(Type type);
object Resolve(Type type, [TupleElementNames(new[] { "Type", "Instance" })] params (Type Type, object Instance)[] parameters);
object Resolve(Type type, string name);
object Resolve(Type type, string name, [TupleElementNames(new[] { "Type", "Instance" })] params (Type Type, object Instance)[] parameters);
}
}
IContainerProviderExtensions
Container.Resolve();
//IContainerProviderExtensions
namespace Prism.Ioc
{
public static class IContainerProviderExtensions
{
public static T Resolve<T>(this IContainerProvider provider);
public static T Resolve<T>(this IContainerProvider provider, [TupleElementNames(new[] { "Type", "Instance" })] params (Type Type, object Instance)[] parameters);
public static T Resolve<T>(this IContainerProvider provider, string name, [TupleElementNames(new[] { "Type", "Instance" })] params (Type Type, object Instance)[] parameters);
public static T Resolve<T>(this IContainerProvider provider, string name);
}
}
Prism.Unity
而之前的Unity也不再使用了,现在使用Prism.Unity,上面App.xaml.cs
代码中 的PrismApplication 正是存在于Prism.Unity,如果你需要从6.x升级到7.x,所有的unity引用都需要删掉,重新添加Prism.Unity,并且修改相关代码。
PrismApplication
namespace Prism.Unity
{
public abstract class PrismApplication : PrismApplicationBase
{
protected PrismApplication();
protected override IContainerExtension CreateContainerExtension();
protected override void RegisterFrameworkExceptionTypes();
protected override void RegisterRequiredTypes(IContainerRegistry containerRegistry);
}
}
Prism.Regions
IRegionManager
regionManager.RegisterViewWithRegion("ContentRegion", typeof(ViewA));
_regionManager.RequestNavigate("ContentRegion", navigatePath);
namespace Prism.Regions
{
//
// 摘要:
// 定义用于管理一组区域和将区域附加到对象的接口
// (一般控制).
public interface IRegionManager
{
//
// 摘要:
// 获取Prism.Regions的集合。按名称识别每个区域的IRegion。
// 可以使用此集合向当前区域管理器添加或删除区域。
IRegionCollection Regions { get; }
//
// 摘要:
// 将视图添加到区域的视图集合中。请注意,区域必须已经存在于此区域经理中。
//
// 参数:
// regionName:
// 要向其添加视图的区域的名称
//
// view:
// 要添加到views集合中的视图
//
// 返回结果:
// RegionManager,可以轻松添加多个视图。
IRegionManager AddToRegion(string regionName, object view);
//
// 摘要:
// 创建一个新的区域管理器
//
// 返回结果:
// 新区域管理器,可作为与当前区域不同的范围使用
// manager.
IRegionManager CreateRegionManager();
//
// 摘要:
// 通过注册类型,将视图与区域关联。当区域得到
// 显示的此类型将使用ServiceLocator解析为具体类型
// 该实例将被添加到该区域的Views集合中
//
// 参数:
// regionName:
// 要与视图关联的区域的名称。
//
// viewType:
// 对象注册的视图的类型
//
// 返回结果:
// regionmanager,用于轻松添加多个视图
IRegionManager RegisterViewWithRegion(string regionName, Type viewType);
//
// 摘要:
// 将视图与区域关联,使用委托解析具体实例
// 的观点。当区域get显示时,该委托将被调用
// 结果将被添加到该区域的views集合中。.
//
// 参数:
// regionName:
// 要与视图关联的区域的名称。
//
// getContentDelegate:
// 用于解析视图的具体实例的委托。
//
// 返回结果:
// regionmanager,用于轻松添加多个视图
IRegionManager RegisterViewWithRegion(string regionName, Func<object> getContentDelegate);
//
// 摘要:
// 导航指定的区域管理器。
//
// 参数:
// regionName:
// 要调用导航的区域的名称。
//
// source:
// 要显示的内容的URI。
//
// navigationCallback:
// 导航回调。
void RequestNavigate(string regionName, Uri source, Action<NavigationResult> navigationCallback);
//
// 摘要:
// 导航指定的区域管理器。
//
// 参数:
// regionName:
// 要调用导航的区域的名称。
//
// source:
// 要显示的内容的URI。
void RequestNavigate(string regionName, Uri source);
//
// 摘要:
// 导航指定的区域管理器.
//
// 参数:
// regionName:
// 要调用导航的区域的名称。
//
// source:
// 要显示的内容的URI。
//
// navigationCallback:
// 导航回调。
void RequestNavigate(string regionName, string source, Action<NavigationResult> navigationCallback);
//
// 摘要:
// 导航指定的区域管理器。.
//
// 参数:
// regionName:
// 要调用导航的区域的名称。
//
// source:
// 要显示的内容的URI。
void RequestNavigate(string regionName, string source);
//
// 摘要:
// 此方法允许IRegionManager定位指定区域并导航
// 将导航回调和实例传递给指定的目标Uri
// 的导航参数,它保存一个对象参数的集合。
//
// 参数:
// regionName:
// 将出现导航的区域的名称。
//
// target:
// 表示区域将导航到的目标的Uri。
//
// navigationCallback:
// 导航完成后将执行的导航回调。
//
// navigationParameters:
// 一个NavigationParameters的实例,它保存一个对象参数的集合。
void RequestNavigate(string regionName, Uri target, Action<NavigationResult> navigationCallback, NavigationParameters navigationParameters);
//
// 摘要:
// 此方法允许IRegionManager定位指定区域并导航
// 中指定的目标字符串,传递一个导航回调函数和一个实例
// 的导航参数,它保存一个对象参数的集合。
//
// 参数:
// regionName:
// 将出现导航的区域的名称。
//
// target:
// 表示区域将导航到的目标的字符串。
//
// navigationCallback:
// 导航完成后将执行的导航回调。
//
// navigationParameters:
// 一个NavigationParameters的实例,它保存一个对象参数的集合。
void RequestNavigate(string regionName, string target, Action<NavigationResult> navigationCallback, NavigationParameters navigationParameters);
//
// 摘要:
// 此方法允许IRegionManager定位指定区域并导航
// 在其中传递到指定的目标Uri,传递一个NavigationParameters实例,
// 保存对象参数的集合。
//
// 参数:
// regionName:
// 将出现导航的区域的名称。
//
// target:
// 表示区域将导航到的目标的Uri。
//
// navigationParameters:
// 一个NavigationParameters的实例,它保存一个对象参数的集合。
void RequestNavigate(string regionName, Uri target, NavigationParameters navigationParameters);
//
// 摘要:
// 此方法允许IRegionManager定位指定区域并导航
// 在其中传递给指定的目标字符串,传递一个NavigationParameters的实例,
// 它保存对象参数的集合。
//
// 参数:
// regionName:
// 将出现导航的区域的名称。
//
// target:
// 表示区域将导航到的目标的字符串。
//
// navigationParameters:
// 一个NavigationParameters的实例,它保存一个对象参数的集合。
void RequestNavigate(string regionName, string target, NavigationParameters navigationParameters);
}
}
IRegion
namespace Prism.Regions
{
//
// 摘要:
// 定义可用于组合视图的模型
public interface IRegion : INavigateAsync, INotifyPropertyChanged
{
//
// 摘要:
// 获取该区域中视图集合的只读视图。
//
// 值:
// 一个Prism.Regions。所有添加视图的IViewsCollection。
IViewsCollection Views { get; }
//
// 摘要:
// 获取该区域中所有活动视图集合的只读视图。
//
// 值:
// 一个Prism.Regions。所有活动视图的IViewsCollection。
IViewsCollection ActiveViews { get; }
//
// 摘要:
// 获取或设置区域的上下文。用户可以使用此值来
// 与视图共享上下文。
//
// 值:
// 要共享的上下文值。
object Context { get; set; }
//
// 摘要:
// 获取区域的名称,该名称统一标识Prism.Regions.IRegionManager中的区域。
//
// 值:
// 这个地区的名字。.
string Name { get; set; }
//
// 摘要:
// 获取或设置用于对视图排序的比较。
//
// 值:
// 使用的比较。
Comparison<object> SortComparison { get; set; }
//
// 摘要:
// 获取或设置Prism.Regions。IRegionManager,它将被传递给视图
// 当将它们添加到区域时,除非视图是通过指定createRegionManagerScope添加的是真实的。
//
// 值:
// Prism.Regions。IRegionManager这是Prism.Regions。IRegion登记。
//
// 言论:
// 这通常被Prism.Regions的实现所使用。IRegionManager,应该不能被开发人员明确使用。
IRegionManager RegionManager { get; set; }
//
// 摘要:
// 获取Prism.Regions的集合。可以扩展行为的区域行为的地区。
IRegionBehaviorCollection Behaviors { get; }
//
// 摘要:
// 获取或设置导航服务。
//
// 值:
// 导航服务。
IRegionNavigationService NavigationService { get; set; }
//
// 摘要:
// 将指定的视图标记为活动视图。
//
// 参数:
// view:
// 要激活的视图。
void Activate(object view);
//
// 摘要:
// 向区域添加一个新视图。
//
// 参数:
// view:
// 要添加的视图。
//
// 返回结果:
// Prism.Regions。IRegionManager,如果它是System.Windows.DependencyObject,则在视图上设置。
// 使用此重载时,它将是当前区域管理器。
IRegionManager Add(object view);
//
// 摘要:
// 向区域添加一个新视图。
//
// 参数:
// view:
// 要添加的视图。
//
// viewName:
// 视图的名称。这可以用于稍后通过调用Prism.Regions.IRegion.GetView(System.String)来检索它。
//
// 返回结果:
// Prism.Regions。IRegionManager,如果它是System.Windows.DependencyObject,则在视图上设置。
// 使用此重载时,它将是当前区域管理器。
IRegionManager Add(object view, string viewName);
//
// 摘要:
// 向区域添加一个新视图。
//
// 参数:
// view:
// 要添加的视图。
//
// viewName:
// 视图的名称。这可以用于稍后通过调用Prism.Regions.IRegion.GetView(System.String)来检索它。
//
// createRegionManagerScope:
// 当true时,添加的视图将接收到prism.area . i区长的新实例,
// 否则,它将使用该区域的当前区域管理器。
//
// 返回结果:
// Prism.Regions。IRegionManager,如果它是System.Windows.DependencyObject,则在视图上设置。
IRegionManager Add(object view, string viewName, bool createRegionManagerScope);
//
// 摘要:
// 将指定的视图标记为非活动的。
//
// 参数:
// view:
// 要停用的视图。
void Deactivate(object view);
//
// 摘要:
// 返回使用特定名称添加到区域的视图实例。
//
// 参数:
// viewName:
// 将视图添加到区域时使用的名称。
//
// 返回结果:
// 对象中不存在带有viewName的视图,则返回已命名视图,否则返回null
// 当前的地区。
object GetView(string viewName);
//
// 摘要:
// 从区域中移除指定的视图。
//
// 参数:
// view:
// 要删除的视图。
void Remove(object view);
//
// 摘要:
// 从该区域移除所有视图。
void RemoveAll();
}
}
INavigationAware
namespace Prism.Regions
{
//
// 摘要:
// 为导航中涉及的对象提供导航通知的方法
// activities.
public interface INavigationAware
{
//
// 摘要:
// 调用以确定此实例是否可以处理导航请求。
//
// 参数:
// navigationContext:
// 导航上下文。
//
// 返回结果:
// 如果该实例接受导航请求,则为true;否则,假的。
bool IsNavigationTarget(NavigationContext navigationContext);
//
// 摘要:
// 当导航离开实现者时调用。
//
// 参数:
// navigationContext:
// 导航上下文。
void OnNavigatedFrom(NavigationContext navigationContext);
//
// 摘要:
// 当导航到实现时调用。
//
// 参数:
// navigationContext:
// 导航上下文。
void OnNavigatedTo(NavigationContext navigationContext);
}
}
NavigationContext
OnNavigatedTo(NavigationContext navigationContext)
IsNavigationTarget(NavigationContext navigationContext)
OnNavigatedFrom(NavigationContext navigationContext)
namespace Prism.Regions
{
//
// 摘要:
// 封装关于导航请求的信息。
public class NavigationContext
{
//
// 摘要:
// 初始化Prism.Regions的一个新实例。类的NavigationContext
// 区域名称和一个Prism.Regions.NavigationContext.Uri。
//
// 参数:
// navigationService:
// 导航服务。
//
// uri:
// The Uri.
public NavigationContext(IRegionNavigationService navigationService, Uri uri);
//
// 摘要:
// 初始化Prism.Regions的一个新实例。类的NavigationContext
// 区域名称和一个Prism.Regions.NavigationContext.Uri。
//
// 参数:
// navigationService:
// 导航服务。
//
// navigationParameters:
// 导航参数。
//
// uri:
// The Uri.
public NavigationContext(IRegionNavigationService navigationService, Uri uri, NavigationParameters navigationParameters);
//
// 摘要:
// 获取区域导航服务。
//
// 值:
// 导航服务。
public IRegionNavigationService NavigationService { get; }
//
// 摘要:
// 获取导航URI。
//
// 值:
// 导航URI。
public Uri Uri { get; }
//
// 摘要:
// Prism.Regions。从URI和对象提取的NavigationParameters
// 在导航中传递的参数。
//
// 值:
// URI查询.
public NavigationParameters Parameters { get; }
}
}
IConfirmNavigationRequest
public void ConfirmNavigationRequest(NavigationContext navigationContext, Action continuationCallback)
namespace Prism.Regions
{
//
// 摘要:
// 为导航中涉及的对象提供一种方法来确定是否导航
// 请求应该继续。
public interface IConfirmNavigationRequest : INavigationAware
{
//
// 摘要:
// 确定此实例是否接受导航离开。
//
// 参数:
// navigationContext:
// 导航上下文。
//
// continuationCallback:
// 指示何时可以继续导航的回调。.
//
// 言论:
// 此方法的实现者不需要在此方法之前调用回调,但是它们必须确保最终调用回调。
void ConfirmNavigationRequest(NavigationContext navigationContext, Action<bool> continuationCallback);
}
}
IRegionMemberLifetime
namespace Prism.Regions
{
//
// 摘要:
// 在实现时,允许将实例放置在Prism.Regions中。IRegion使用
// Prism.Regions.Behaviors。RegionMemberLifetimeBehavior表示它应该
// 当它从激活状态转换到非激活状态时删除。
public interface IRegionMemberLifetime
{
//
// 摘要:
// 获取一个值,该值指示在停用时此实例是否应保持活动状态。
bool KeepAlive { get; }
}
}
IRegionNavigationService
_journal = navigationContext.NavigationService.Journal;
namespace Prism.Regions
{
//
// 摘要:
// 提供区域导航。
public interface IRegionNavigationService : INavigateAsync
{
//
// 摘要:
// 获取或设置拥有此服务的区域。
//
// 值:
// 一个地区。.
IRegion Region { get; set; }
//
// 摘要:
// Gets the journal.
//
// 值:
// The journal.
IRegionNavigationJournal Journal { get; }
//
// 摘要:
// 当该区域即将导航到内容时触发。
event EventHandler<RegionNavigationEventArgs> Navigating;
//
// 摘要:
// 当区域导航到内容时引发。
event EventHandler<RegionNavigationEventArgs> Navigated;
//
// 摘要:
// 当导航请求失败时引发。
event EventHandler<RegionNavigationFailedEventArgs> NavigationFailed;
}
}
Prism.Modularity
IModuleCatalog
moduleCatalog.AddModule()
namespace Prism.Modularity
{
//
// 摘要:
// 这是ModuleManager期望的目录定义。的ModuleCatalog
// holds information about the modules that can be used by the application. Each
// 保存有关应用程序可以使用的模块的信息。每一个的模块。
public interface IModuleCatalog
{
//
// 摘要:
// 获取所有prism。模块化。IModuleInfo类中的prism . modular . imodulecatalog。
IEnumerable<IModuleInfo> Modules { get; }
//
// 摘要:
// 添加一个Prism.Modularity。IModuleInfo to prism . modulery . imodulecatalog。
//
// 参数:
// moduleInfo:
// Prism.Modularity。IModuleInfo补充。.
//
// 返回结果:
// Prism.Modularity。IModuleCatalog轻松添加多个模块。
IModuleCatalog AddModule(IModuleInfo moduleInfo);
//
// 摘要:
// 返回Prism.Modularity的集合。IModuleInfos包含
// Prism.Modularity。模块中的imoduleinfo,以及它们所依赖的所有模块上。
//
// 参数:
// modules:
// 要获取依赖项的模块。
//
// 返回结果:
// 棱镜的集合。模块化。包含所有prism . module .IModuleInfo
// in modules and also all the Prism.Modularity.IModuleInfo they depend on.
IEnumerable<IModuleInfo> CompleteListWithDependencies(IEnumerable<IModuleInfo> modules);
//
// 摘要:
// 返回Prism.Modularity列表。moduleInfo依赖的IModuleInfos。
//
// 参数:
// moduleInfo:
// Prism.Modularity。以IModuleInfo获取
//
// 返回结果:
// prism .模块化的枚举。moduleInfo依赖的IModuleInfo。
IEnumerable<IModuleInfo> GetDependentModules(IModuleInfo moduleInfo);
//
// 摘要:
// 初始化目录,它可以加载和验证模块。
void Initialize();
}
}
IModule
namespace Prism.Modularity
{
//
// 摘要:
// 为应用程序中部署的模块定义契约。
public interface IModule
{
//
// 摘要:
// 通知模块它已被初始化。
void OnInitialized(IContainerProvider containerProvider);
//
// 摘要:
// 用于向应用程序将使用的容器注册类型。
void RegisterTypes(IContainerRegistry containerRegistry);
}
}
IModuleCatalogExtensions
moduleCatalog.AddModule<ModuleA.ModuleAModule>();
namespace Prism.Modularity
{
public static class IModuleCatalogExtensions
{
//
// 摘要:
// 创建并添加prism .模块化。ModuleInfoGroup到目录。
//
// 参数:
// initializationMode:
// 要添加的模块组将被初始化的阶段。
//
// refValue:
// 要添加的模块组的位置的引用。
//
// moduleInfos:
// Prism.Modularity的集合。ModuleInfo包含在组中。
//
// 返回结果:
// Prism.Modularity。模块atalog与添加的模块组。
public static IModuleCatalog AddGroup(this IModuleCatalog catalog, InitializationMode initializationMode, string refValue, params ModuleInfo[] moduleInfos);
//
// 摘要:
// 添加模块。
//
// 参数:
// catalog:
// 目录
//
// mode:
// Prism.Modularity.初始化模式
//
// 类型参数:
// T:
// Prism.Modularity。IModule类型参数。
//
// 返回结果:
// 模块.
public static IModuleCatalog AddModule<T>(this IModuleCatalog catalog, InitializationMode mode = InitializationMode.WhenAvailable, params string[] dependsOn) where T : IModule;
//
// 摘要:
// 添加模块。
//
// 参数:
// catalog:
// 目录。
//
// name:
// 的名字。
//
// mode:
// 棱镜. 模块化. imodule.
//
// 类型参数:
// T:
// Prism.Modularity。IModule类型参数。
//
// 返回结果:
// 模块。
public static IModuleCatalog AddModule<T>(this IModuleCatalog catalog, string name, InitializationMode mode = InitializationMode.WhenAvailable, params string[] dependsOn) where T : IModule;
//
// 摘要:
// 添加无groupless prism .模块化。我把信息发送到目录上。
//
// 参数:
// moduleType:
// 系统。要添加的模块的类型。
//
// dependsOn:
// 模块的模块名称的集合
// 要添加的模块在逻辑上取决于哪一个。
//
// 返回结果:
// Prism.Modularity相同。添加模块的IModuleCatalog实例。
public static IModuleCatalog AddModule(this IModuleCatalog catalog, Type moduleType, params string[] dependsOn);
//
// 摘要:
// 添加无groupless prism .模块化。我把信息发送到目录上。
//
// 参数:
// moduleType:
// 系统。要添加的模块的类型。
//
// initializationMode:
// 初始化要添加的模块的阶段。
//
// dependsOn:
// 模块的模块名称的集合
// 要添加的模块在逻辑上取决于哪一个。
//
// 返回结果:
// Prism.Modularity相同。添加模块的IModuleCatalog实例。
public static IModuleCatalog AddModule(this IModuleCatalog catalog, Type moduleType, InitializationMode initializationMode, params string[] dependsOn);
//
// 摘要:
// 添加无groupless prism .模块化。ModuleInfo到目录。
//
// 参数:
// moduleName:
// 要添加的模块的名称。
//
// moduleType:
// 系统。要添加的模块的类型。
//
// dependsOn:
// 模块名称的集合(prism . module . moduleinfo . modulename)
// 要添加的模块在逻辑上取决于哪一个。
//
// 返回结果:
// Prism.Modularity相同。ModuleCatalog实例与添加的模块。
public static IModuleCatalog AddModule(this IModuleCatalog catalog, string moduleName, string moduleType, params string[] dependsOn);
//
// 摘要:
// 添加无groupless prism .模块化。ModuleInfo到目录。
//
// 参数:
// moduleName:
// 要添加的模块的名称。
//
// moduleType:
// 系统。要添加的模块的类型。
//
// initializationMode:
// 初始化要添加的模块的阶段。
//
// dependsOn:
// 模块名称的集合(prism . module . moduleinfo . modulename)
// 要添加的模块在逻辑上取决于哪一个。
//
// 返回结果:
// Prism.Modularity相同。ModuleCatalog实例与添加的模块。
public static IModuleCatalog AddModule(this IModuleCatalog catalog, string moduleName, string moduleType, InitializationMode initializationMode, params string[] dependsOn);
//
// 摘要:
// 添加无groupless prism .模块化。ModuleInfo到目录。
//
// 参数:
// moduleName:
// 要添加的模块的名称。
//
// moduleType:
// 系统。要添加的模块的类型。
//
// refValue:
// 要添加程序集的模块的位置的引用。
//
// initializationMode:
// 初始化要添加的模块的阶段。
//
// dependsOn:
// 模块名称的集合(prism . module . moduleinfo . modulename)
// 要添加的模块在逻辑上取决于哪一个。
//
// 返回结果:
// Prism.Modularity相同。ModuleCatalog实例与添加的模块。
public static IModuleCatalog AddModule(this IModuleCatalog catalog, string moduleName, string moduleType, string refValue, InitializationMode initializationMode, params string[] dependsOn);
//
// 摘要:
// 添加模块。
//
// 参数:
// catalog:
// 目录
//
// mode:
// Prism.Modularity.InitializationMode
//
// 类型参数:
// T:
// Prism.Modularity。IModule类型参数。
//
// 返回结果:
// The module.
public static IModuleCatalog AddModule<T>(this IModuleCatalog catalog, InitializationMode mode = InitializationMode.WhenAvailable) where T : IModule;
public static IModuleCatalog AddModule<T>(this IModuleCatalog catalog, string name) where T : IModule;
//
// 摘要:
// 添加模块。
//
// 参数:
// catalog:
// 目录.
//
// name:
// Name.
//
// mode:
// Prism.Modularity.IModule.
//
// 类型参数:
// T:
// Prism.Modularity。IModule类型参数。
//
// 返回结果:
// 该模块
public static IModuleCatalog AddModule<T>(this IModuleCatalog catalog, string name, InitializationMode mode) where T : IModule;
}
}
ModuleInfo
new ModuleInfo()
namespace Prism.Modularity
{
//
// 摘要:
// 定义描述模块的元数据。
public class ModuleInfo : IModuleInfo, IModuleCatalogItem
{
//
// 摘要:
// 初始化prism . module . moduleinfo的一个新的空实例。
public ModuleInfo();
//
// 摘要:
// 初始化prism . module . moduleinfo的一个新实例。
//
// 参数:
// moduleType:
// 模块的类型。
public ModuleInfo(Type moduleType);
//
// 摘要:
// 初始化prism . module . moduleinfo的一个新实例。
//
// 参数:
// name:
// 模块的名字。
//
// type:
// 模块的类型。
public ModuleInfo(string name, string type);
//
// 摘要:
// 初始化prism . module . moduleinfo的一个新实例。
//
// 参数:
// moduleType:
// 模块的类型。
//
// moduleName:
// 模块的名字。
public ModuleInfo(Type moduleType, string moduleName);
//
// 摘要:
// 初始化prism . module . moduleinfo的一个新实例。
//
// 参数:
// name:
// 模块的名字。
//
// type:
// 模块系统。类型的AssemblyQualifiedName。
//
// dependsOn:
// 此实例所依赖的模块。
//
// 异常:
// T:System.ArgumentNullException:
// 系统。如果依赖项为空,则抛出ArgumentNullException。
public ModuleInfo(string name, string type, params string[] dependsOn);
//
// 摘要:
// 初始化prism . module . moduleinfo的一个新实例。
//
// 参数:
// moduleType:
// 模块的类型。
//
// moduleName:
// 模块的名字。
//
// initializationMode:
// 模块的Prism.Modularity.ModuleInfo.InitializationMode。
public ModuleInfo(Type moduleType, string moduleName, InitializationMode initializationMode);
//
// 摘要:
// 获取或设置模块的名称。
//
// 值:
// 模块的名称。
public string ModuleName { get; set; }
//
// 摘要:
// 获取或设置模块系统。类型的AssemblyQualifiedName。
//
// 值:
// 模块的类型。
public string ModuleType { get; set; }
//
// 摘要:
// 获取或设置此模块所依赖的模块列表。
//
// 值:
// 此模块所依赖的模块列表。
public Collection<string> DependsOn { get; set; }
//
// 摘要:
// 指定在哪个阶段初始化模块。
public InitializationMode InitializationMode { get; set; }
//
// 摘要:
// 引用模块程序集的位置。下面是一些示例
// 有效的Prism.Modularity.ModuleInfo。Ref值:文件:/ / c: / MyProject /模块/ MyModule.dll
// 对于一个松散的DLL在WPF。
public string Ref { get; set; }
//
// 摘要:
// 获取或设置Prism.Modularity状态。ModuleInfo关于
// 模块加载和初始化过程。
public ModuleState State { get; set; }
}
}
Prism.Mvvm
BindableBase
namespace Prism.Mvvm
{
//
// 摘要:
// System.ComponentModel的实现。INotifyPropertyChanged以简化模型。
public abstract class BindableBase : INotifyPropertyChanged
{
protected BindableBase();
//
// 摘要:
// 当属性值更改时发生。
public event PropertyChangedEventHandler PropertyChanged;
//
// 摘要:
// 通知侦听器属性值已更改。
//
// 参数:
// propertyName:
// 用于通知侦听器的属性的名称。这个值是可选的
// 从支持System.Runtime.CompilerServices.CallerMemberNameAttribute的编译器调用时自动提供。
[EditorBrowsable(EditorBrowsableState.Never)]
[Obsolete("Please use the new RaisePropertyChanged method. This method will be removed to comply wth .NET coding standards. If you are overriding this method, you should overide the OnPropertyChanged(PropertyChangedEventArgs args) signature instead.")]
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null);
//
// 摘要:
// 引发此对象的PropertyChanged事件。
//
// 参数:
// args:
// PropertyChangedEventArgs
protected virtual void OnPropertyChanged(PropertyChangedEventArgs args);
//
// 摘要:
// 引发此对象的PropertyChanged事件。
//
// 参数:
// propertyExpression:
// 表示具有新值的属性的Lambda表达式。
//
// 类型参数:
// T:
// 具有新值的属性的类型
[EditorBrowsable(EditorBrowsableState.Never)]
[Obsolete("Please use RaisePropertyChanged(nameof(PropertyName)) instead. Expressions are slower, and the new nameof feature eliminates the magic strings.")]
protected virtual void OnPropertyChanged<T>(Expression<Func<T>> propertyExpression);
//
// 摘要:
// 引发此对象的PropertyChanged事件。
//
// 参数:
// propertyName:
// 用于通知侦听器的属性的名称。这个值是可选的
// 从支持System.Runtime.CompilerServices.CallerMemberNameAttribute的编译器调用时自动提供。
protected void RaisePropertyChanged([CallerMemberName] string propertyName = null);
//
// 摘要:
// 检查属性是否已经匹配所需的值。设置属性并通知
// 只在必要时倾听。
//
// 参数:
// storage:
// 同时使用getter和setter引用属性。
//
// value:
// 属性的期望值。
//
// propertyName:
// 用于通知侦听器的属性的名称。这个值是可选的
// 从支持CallerMemberName的编译器调用时自动提供
//
// 类型参数:
// T:
// 属性的类型。
//
// 返回结果:
// 如果值发生了变化,则为True;如果现有值与期望值匹配,则为false
// value.
protected virtual bool SetProperty<T>(ref T storage, T value, [CallerMemberName] string propertyName = null);
//
// 摘要:
// 检查属性是否已经匹配所需的值。设置属性并通知
// 只在必要时倾听。
//
// 参数:
// storage:
// 同时使用getter和setter引用属性。
//
// value:
// 属性的期望值。
//
// propertyName:
// 用于通知侦听器的属性的名称。这个值是可选的
// 从支持CallerMemberName的编译器调用时自动提供。
//
// onChanged:
// 更改属性值后调用的操作。
//
// 类型参数:
// T:
// 属性的类型。
//
// 返回结果:
// 如果值发生了变化,则为True;如果现有值与期望值匹配,则为false
// value.
protected virtual bool SetProperty<T>(ref T storage, T value, Action onChanged, [CallerMemberName] string propertyName = null);
}
}
ViewModelLocationProvider
ViewModelLocationProvider.SetDefaultViewTypeToViewModelTypeResolver()
namespace Prism.Mvvm
{
//
// 摘要:
// ViewModelLocationProvider类定位视图的视图模型
// 是否AutoWireViewModelChanged附加属性设置为真。视图模型
// 将定位并注入到视图的DataContext中。要定位视图
// 模型,使用了两种策略:首先ViewModelLocationProvider会查看
// 查看是否有视图模型工厂为该视图注册,如果没有的话
// 尝试使用基于约定的方法来推断视图模型。这个类还
// 提供用于注册视图模型工厂和覆盖的方法
// 用于查看模型类型解析器的默认视图模型工厂和默认视图类型。
public static class ViewModelLocationProvider
{
//
// 摘要:
// 使用。自动查找与当前视图对应的视图模型
// 有两种策略:首先查看是否有对应的映射
// 视图,如果没有,则返回到基于约定的方法。
//
// 参数:
// view:
// 依赖对象,通常是一个视图。
//
// setDataContextCallback: 设置数据上下文回调
// 回调用于创建视图和ViewModel之间的绑定
public static void AutoWireViewModelChanged(object view, Action<object, object> setDataContextCallback);
//
// 摘要:
// 为指定的视图类型注册ViewModel工厂。
//
// 参数:
// factory:
// ViewModel工厂。.
//
// 类型参数:
// T:
// 视图
public static void Register<T>(Func<object> factory);
//
// 摘要:
// 为指定的视图类型名称注册ViewModel工厂。
//
// 参数:
// viewTypeName:
// 视图类型的名称。
//
// factory:
// ViewModel工厂。
public static void Register(string viewTypeName, Func<object> factory);
//
// 摘要:
// 为指定的视图类型注册一个视图模型类型。
//
// 类型参数:
// T:
// 视图
//
// VM:
// ViewModel
public static void Register<T, VM>();
//
// 摘要:
// 为指定的视图注册一个视图模型类型
//
// 参数:
// viewTypeName:
// 视图类型名称
//
// viewModelType:
// ViewModel类型
public static void Register(string viewTypeName, Type viewModelType);
//
// 摘要:
// 设置默认视图模型工厂.
//
// 参数:
// viewModelFactory:
// 提供ViewModel类型作为参数的视图模型工厂。
public static void SetDefaultViewModelFactory(Func<Type, object> viewModelFactory);
//
// 摘要:
// 设置默认视图模型工厂。
//
// 参数:
// viewModelFactory:
// 提供视图实例和视图模型类型的视图模型工厂
// parameters.
public static void SetDefaultViewModelFactory(Func<object, Type, object> viewModelFactory);
//
// 摘要:
// 将默认视图类型设置为查看模型类型解析器。
//
// 参数:
// viewTypeToViewModelTypeResolver:
// 视图类型到视图模型类型解析器。
public static void SetDefaultViewTypeToViewModelTypeResolver(Func<Type, Type> viewTypeToViewModelTypeResolver);
}
}
ViewModelLocator
namespace Prism.Mvvm
{
//
// 摘要:
// 该类定义附加的属性和调用的相关更改处理程序
// 在Prism.Mvvm中的ViewModelLocator。
public static class ViewModelLocator
{
//
// 摘要:
// AutoWireViewModel附加属性。
public static DependencyProperty AutoWireViewModelProperty;
public static bool GetAutoWireViewModel(DependencyObject obj);
public static void SetAutoWireViewModel(DependencyObject obj, bool value);
}
}
Prism.Commands
cmd->DelegateCommand
namespace Prism.Commands
{
//
// 摘要:
// 一个System.Windows.Input。委托不接受任何参数的命令
// Prism.Commands.DelegateCommand.Execute and Prism.Commands.DelegateCommand.CanExecute.
public class DelegateCommand : DelegateCommandBase
{
//
// 摘要:
// 创建一个新的Prism.Commands实例。授权命令系统。行动在执行时调用。
//
// 参数:
// executeMethod:
// 这个系统。当system . window . input . icommand . execute (System.Object)时调用的动作
// 被称为。
public DelegateCommand(Action executeMethod);
//
// 摘要:
// 创建一个新的Prism.Commands实例。授权命令系统。行动
// 在执行时调用,并调用一个函数来查询命令是否可以执行
// 执行。
//
// 参数:
// executeMethod:
// 这个系统。当system . window . input . icommand . execute (System.Object)时调用的动作
// 被称为。
//
// canExecuteMethod:
// 这个系统。Func ' 1在System.Windows.Input.ICommand.CanExecute(System.Object)时调用
// 被称为
public DelegateCommand(Action executeMethod, Func<bool> canExecuteMethod);
//
// 摘要:
// 确定是否可以执行命令。
//
// 返回结果:
// 如果命令可以执行,则返回true,否则返回false。
public bool CanExecute();
//
// 摘要:
// 执行命令。
public void Execute();
//
// 摘要:
// 观察用于确定此命令是否可以执行的属性
// 如果它实现了INotifyPropertyChanged,它会自动调用DelegateCommandBase.RaiseCanExecuteChanged
// 属性更改通知。
//
// 参数:
// canExecuteExpression:
// 属性表达式。例如:ObservesCanExecute(() =比;PropertyName)。
//
// 返回结果:
// 委托命令的当前实例
public DelegateCommand ObservesCanExecute(Expression<Func<bool>> canExecuteExpression);
//
// 摘要:
// 观察实现INotifyPropertyChanged和自动的属性
// 调用DelegateCommandBase。属性变更通知上的RaiseCanExecuteChanged。
//
// 参数:
// propertyExpression:
// 属性表达式。例如:ObservesProperty(() =比;PropertyName)。
//
// 类型参数:
// T:
// 包含表达式中指定的属性的对象类型。
//
// 返回结果:
// 委托命令的当前实例
public DelegateCommand ObservesProperty<T>(Expression<Func<T>> propertyExpression);
//
// 摘要:
// 处理system . window . input . icommand . canexecute (System.Object)的内部调用
//
// 参数:
// parameter:
//
// 返回结果:
// 如果命令可以执行,则为true,否则为false
protected override bool CanExecute(object parameter);
//
// 摘要:
// 处理system . window . input . icommand . execute (System.Object)的内部调用
//
// 参数:
// parameter:
// 命令参数
protected override void Execute(object parameter);
}
}
Prism.Events
IEventAggregator
namespace Prism.Events
{
//
// 摘要:
// 定义获取事件类型实例的接口。
public interface IEventAggregator
{
//
// 摘要:
// 获取事件类型的实例。
//
// 类型参数:
// TEventType:
// 要获取的事件类型。
//
// 返回结果:
// 类型为TEventType的事件对象的实例。
TEventType GetEvent<TEventType>() where TEventType : EventBase, new();
}
}
PubSubEvent
namespace Prism.Events
{
//
// 摘要:
// 定义管理事件发布和订阅的类。
//
// 类型参数:
// TPayload:
// 将传递给订阅者的消息类型。
public class PubSubEvent<TPayload> : EventBase
{
public PubSubEvent();
//
// 摘要:
// 如果有订户匹配系统,则返回true . action ' 1。
//
// 参数:
// subscriber:
// 这个系统。当订阅事件时使用。
//
// 返回结果:
// 如果有一个系统,这是真的。行动”1相匹配;否则错误。
public virtual bool Contains(Action<TPayload> subscriber);
//
// 摘要:
// 发布Prism.Events.PubSubEvent的1。
//
// 参数:
// payload:
// 要传递给订阅者的消息。
public virtual void Publish(TPayload payload);
//
// 摘要:
// 订阅将在prism . events . thread . publisherthread上发布的事件的委托。
// Prism.Events。PubSubEvent ' 1将维护一个系统。弱引用目标
// 所提供的操作委托。
//
// 参数:
// action:
// 发布事件时执行的委托。
//
// 返回结果:
// Prism.Events。唯一标识添加订阅的SubscriptionToken。
//
// 言论:
// PubSubEvent集合是线程安全的。
public SubscriptionToken Subscribe(Action<TPayload> action);
//
// 摘要:
// 订阅一个委托到一个事件。PubSubEvent将维护System.WeakReference
// 到提供的操作委托的目标。
//
// 参数:
// action:
// 在引发事件时执行的委托。
//
// threadOption:
// 指定在哪个线程上接收委托回调。
//
// 返回结果:
// Prism.Events。唯一标识添加订阅的SubscriptionToken。
//
// 言论:
// PubSubEvent集合是线程安全的。
public SubscriptionToken Subscribe(Action<TPayload> action, ThreadOption threadOption);
//
// 摘要:
// 订阅将在prism . events . thread . publisherthread上发布的事件的委托。
//
// 参数:
// action:
// 发布事件时执行的委托
//
// keepSubscriberReferenceAlive:
// 当为真时,Prism.Events。PubSubEvent ' 1保留对订阅者的引用
// 所以它不会被垃圾收集。
//
// 返回结果:
// Prism.Events。唯一标识添加订阅的SubscriptionToken。
//
// 言论:
// 如果keepSubscriberReferenceAlive设置为false,则Prism.Events。PubSubEvent 1将
// 维护一个系统。弱引用提供的操作委托的目标。
// 如果没有使用WeakReference (keepSubscriberReferenceAlive为真),则用户
// 在处理订阅服务器时必须显式地为事件调用退订
// 以避免内存泄漏或意外行为。
// PubSubEvent集合是线程安全的。
public SubscriptionToken Subscribe(Action<TPayload> action, bool keepSubscriberReferenceAlive);
//
// 摘要:
// 订阅一个委托到一个事件。
//
// 参数:
// action:
// 发布事件时执行的委托。
//
// threadOption:
// 指定在哪个线程上接收委托回调。
//
// keepSubscriberReferenceAlive:
// 当为真时,Prism.Events。PubSubEvent ' 1保留对订阅者的引用
// 所以它不会被垃圾收集。
//
// 返回结果:
// Prism.Events。唯一标识添加订阅的SubscriptionToken。
//
// 言论:
// 如果keepSubscriberReferenceAlive设置为false,则Prism.Events。PubSubEvent 1将
// 维护一个系统。弱引用提供的操作委托的目标。
// 如果没有使用WeakReference (keepSubscriberReferenceAlive为真),则用户
// 在处理订阅服务器时必须显式地为事件调用退订
// 以避免内存泄漏或意外行为。
// PubSubEvent集合是线程安全的。
public SubscriptionToken Subscribe(Action<TPayload> action, ThreadOption threadOption, bool keepSubscriberReferenceAlive);
//
// 摘要:
// 订阅一个委托到一个事件。
//
// 参数:
// action:
// 发布事件时执行的委托。
//
// threadOption:
// 指定在哪个线程上接收委托回调。
//
// keepSubscriberReferenceAlive:
// 当为真时,Prism.Events。PubSubEvent ' 1保留对订阅者的引用
// 所以它不会被垃圾收集。
//
// filter:
// 筛选器计算订阅者是否应该接收事件。
//
// 返回结果:
// Prism.Events。唯一标识添加订阅的SubscriptionToken。
//
// 言论:
// 如果keepSubscriberReferenceAlive设置为false,则Prism.Events。PubSubEvent 1将
// 维护系统。弱引用提供的操作委托的目标。
// 如果没有使用WeakReference (keepSubscriberReferenceAlive为true),则用户将不使用
// 在处理订阅服务器时,必须显式地为事件调用Unsubscribe
// 以避免内存泄漏或意外行为。PubSubEvent收集
// 是线程安全的.
public virtual SubscriptionToken Subscribe(Action<TPayload> action, ThreadOption threadOption, bool keepSubscriberReferenceAlive, Predicate<TPayload> filter);
//
// 摘要:
// 删除第一个订户匹配系统。从订阅者列表中的操作“1”。
//
// 参数:
// subscriber:
// 系统。当订阅事件时使用。
public virtual void Unsubscribe(Action<TPayload> subscriber);
}
}
EventBase
namespace Prism.Events
{
//
// 摘要:
// 定义用于发布和订阅事件的基类。
public abstract class EventBase
{
protected EventBase();
//
// 摘要:
// 允许通过event聚合器设置UI线程的同步上下文
// 调度
public SynchronizationContext SynchronizationContext { get; set; }
//
// 摘要:
// 获取当前订阅的列表。
//
// 值:
// 当前用户。
protected ICollection<IEventSubscription> Subscriptions { get; }
//
// 摘要:
// 如果有匹配的订阅者,则返回true。
//
// 参数:
// token:
// Prism.Events。由Prism.Events返回的SubscriptionToken。EventBase而订阅到事件
//
// 返回结果:
// 如果有Prism.Events,则为真。SubscriptionToken相匹配;否则错误。
public virtual bool Contains(SubscriptionToken token);
//
// 摘要:
// 强制PubSubEvent删除不再执行的订阅
// strategy.
public void Prune();
//
// 摘要:
// 删除与Prism.Events.SubscriptionToken匹配的订阅服务器。
//
// 参数:
// token:
// Prism.Events。由Prism.Events返回的SubscriptionToken。EventBase而订阅到事件
public virtual void Unsubscribe(SubscriptionToken token);
//
// 摘要:
// 调用由Prism.Events.IEventSubscription列表公开的所有执行策略。
//
// 参数:
// arguments:
// 将传递给侦听器的参数。
//
// 言论:
// 在执行策略之前,这个类将删除所有的订阅者
// 返回空系统的列表。当调用Prism.Events.IEventSubscription.GetExecutionStrategy时,操作' 1
// 方法。
protected virtual void InternalPublish(params object[] arguments);
//
// 摘要:
// 添加指定的Prism.Events。订阅者集合的IEventSubscription。
//
// 参数:
// eventSubscription:
// 订阅者。
//
// 返回结果:
// Prism.Events。唯一标识每个订阅者的SubscriptionToken。
//
// 言论:
// 将订阅添加到内部列表并为其分配一个新的Prism.Events.SubscriptionToken。
protected virtual SubscriptionToken InternalSubscribe(IEventSubscription eventSubscription);
}
}
Prism.Interactivity.InteractionRequest
InteractionRequest
NotificationRequest.Raise()
namespace Prism.Interactivity.InteractionRequest
{
//
// 摘要:
// Implementation of the Prism.Interactivity.InteractionRequest.IInteractionRequest
// interface.
[Obsolete("Please use the new IDialogService for an improved dialog experience.")]
public class InteractionRequest<T> : IInteractionRequest where T : INotification
{
public InteractionRequest();
//
// 摘要:
// 在需要交互时触发。
public event EventHandler<InteractionRequestedEventArgs> Raised;
//
// 摘要:
// 触发触发的事件。
//
// 参数:
// context:
// 交互请求的上下文。
public void Raise(T context);
//
// 摘要:
// 触发触发的事件。
//
// 参数:
// context:
// 交互请求的上下文。
//
// callback:
// 交互完成时要执行的回调。
public void Raise(T context, Action<T> callback);
}
}
Confirmation
ConfirmationRequest.Raise(new Confirmation())
namespace Prism.Interactivity.InteractionRequest
{
//
// 摘要:
// 基本实现prism。交互性。交互性请求。形式化。
[Obsolete("Please use the new IDialogService for an improved dialog experience.")]
public class Confirmation : Notification, IConfirmation, INotification
{
public Confirmation();
//
// 摘要:
// 获取或设置一个值,该值指示确认已确认。
public bool Confirmed { get; set; }
}
}
登峰造极的成就源于自律