create repository

master
tayttt 2 years ago
commit 8bf9175f62

Binary file not shown.

Binary file not shown.

@ -0,0 +1,8 @@
{
"ExpandedNodes": [
"",
"\\Txgy.EWS.Client.Start"
],
"SelectedNode": "\\Txgy.EWS.Client.Start\\Txgy.EWS.Client.Start.csproj",
"PreviewInSolutionExplorer": false
}

Binary file not shown.

@ -0,0 +1,175 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{4A79AA8E-803B-4864-A37E-4F6503B45918}</ProjectGuid>
<OutputType>library</OutputType>
<RootNamespace>BaseModule</RootNamespace>
<AssemblyName>BaseModule</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Xaml.Behaviors, Version=1.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Xaml.Behaviors.Wpf.1.1.19\lib\net45\Microsoft.Xaml.Behaviors.dll</HintPath>
</Reference>
<Reference Include="Prism, Version=8.0.0.1909, Culture=neutral, PublicKeyToken=40ee6c3a2184dc59, processorArchitecture=MSIL">
<HintPath>..\packages\Prism.Core.8.0.0.1909\lib\net47\Prism.dll</HintPath>
</Reference>
<Reference Include="Prism.Unity.Wpf, Version=8.0.0.1909, Culture=neutral, PublicKeyToken=40ee6c3a2184dc59, processorArchitecture=MSIL">
<HintPath>..\packages\Prism.Unity.8.0.0.1909\lib\net48\Prism.Unity.Wpf.dll</HintPath>
</Reference>
<Reference Include="Prism.Wpf, Version=8.0.0.1909, Culture=neutral, PublicKeyToken=40ee6c3a2184dc59, processorArchitecture=MSIL">
<HintPath>..\packages\Prism.Wpf.8.0.0.1909\lib\net48\Prism.Wpf.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="Unity.Abstractions, Version=5.11.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
<HintPath>..\packages\Unity.Abstractions.5.11.6\lib\net48\Unity.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Unity.Container, Version=5.11.8.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
<HintPath>..\packages\Unity.Container.5.11.8\lib\net48\Unity.Container.dll</HintPath>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
</ItemGroup>
<ItemGroup>
<Compile Include="BaseModuleProfiel.cs" />
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="ViewModels\AddRoleDialogViewModel.cs" />
<Compile Include="ViewModels\AddUserDialogViewModel.cs" />
<Compile Include="ViewModels\ModifyRolesDialogViewModel.cs" />
<Compile Include="ViewModels\RoleManagementViewModel.cs" />
<Compile Include="ViewModels\SelectUserDialogViewModel.cs" />
<Compile Include="ViewModels\UserManagementViewModel.cs" />
<Compile Include="Views\AddRoleDialog.xaml.cs">
<DependentUpon>AddRoleDialog.xaml</DependentUpon>
</Compile>
<Compile Include="Views\AddUserDialog.xaml.cs">
<DependentUpon>AddUserDialog.xaml</DependentUpon>
</Compile>
<Compile Include="Views\ModifyRolesDialog.xaml.cs">
<DependentUpon>ModifyRolesDialog.xaml</DependentUpon>
</Compile>
<Compile Include="Views\RoleManagementView.xaml.cs">
<DependentUpon>RoleManagementView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\SelectUserDialog.xaml.cs">
<DependentUpon>SelectUserDialog.xaml</DependentUpon>
</Compile>
<Compile Include="Views\UserManagementView.xaml.cs">
<DependentUpon>UserManagementView.xaml</DependentUpon>
</Compile>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="app.config" />
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Page Include="Views\AddRoleDialog.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\AddUserDialog.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\ModifyRolesDialog.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\RoleManagementView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\SelectUserDialog.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\UserManagementView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Txgy.EWS.Client.Assets\Txgy.EWS.Client.Assets.csproj">
<Project>{03e3f115-12f6-431f-ae46-aad52ebd9012}</Project>
<Name>Txgy.EWS.Client.Assets</Name>
</ProjectReference>
<ProjectReference Include="..\Txgy.EWS.Client.Common\Txgy.EWS.Client.Common.csproj">
<Project>{0B6E19C0-970A-48D0-87EC-0DE5944D45B6}</Project>
<Name>Txgy.EWS.Client.Common</Name>
</ProjectReference>
<ProjectReference Include="..\Txgy.EWS.Client.Entity\Txgy.EWS.Client.Entity.csproj">
<Project>{EE71A089-CCCF-4B34-ACE7-191BCE1F0829}</Project>
<Name>Txgy.EWS.Client.Entity</Name>
</ProjectReference>
<ProjectReference Include="..\Txgy.EWS.Client.IBLL\Txgy.EWS.Client.IBLL.csproj">
<Project>{8A3A12BA-31A9-4690-912D-46343F160C9F}</Project>
<Name>Txgy.EWS.Client.IBLL</Name>
</ProjectReference>
<ProjectReference Include="..\Txgy.EWS.Client.Models\Txgy.EWS.Client.Models.csproj">
<Project>{D666259F-EFFC-482C-8FD0-8E975BD67494}</Project>
<Name>Txgy.EWS.Client.Models</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

@ -0,0 +1,30 @@
using BaseModule.Views;
using Prism.Ioc;
using Prism.Modularity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BaseModule
{
public class BaseModuleProfiel : IModule
{
public void OnInitialized(IContainerProvider containerProvider)
{
}
public void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterForNavigation<UserManagementView>();
containerRegistry.RegisterForNavigation<RoleManagementView>();
containerRegistry.RegisterDialog<AddUserDialog>();
containerRegistry.RegisterDialog<ModifyRolesDialog>();
containerRegistry.RegisterDialog<AddRoleDialog>();
containerRegistry.RegisterDialog<SelectUserDialog>();
}
}
}

@ -0,0 +1,55 @@
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("BaseModule")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("P R C")]
[assembly: AssemblyProduct("BaseModule")]
[assembly: AssemblyCopyright("Copyright © P R C 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
//若要开始生成可本地化的应用程序,请设置
//.csproj 文件中的 <UICulture>CultureYouAreCodingWith</UICulture>
//例如,如果您在源文件中使用的是美国英语,
//使用的是美国英语,请将 <UICulture> 设置为 en-US。 然后取消
//对以下 NeutralResourceLanguage 特性的注释。 更新
//以下行中的“en-US”以匹配项目文件中的 UICulture 设置。
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly:ThemeInfo(
ResourceDictionaryLocation.None, //主题特定资源词典所处位置
//(未在页面中找到资源时使用,
//或应用程序资源字典中找到时使用)
ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置
//(未在页面中找到资源时使用,
//、应用程序或任何主题专用资源字典中找到时使用)
)]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

@ -0,0 +1,62 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本: 4.0.30319.42000
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace BaseModule.Properties {
/// <summary>
/// 强类型资源类,用于查找本地化字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if ((resourceMan == null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BaseModule.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace BaseModule.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

@ -0,0 +1,59 @@
using Prism.Commands;
using Prism.Mvvm;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using Txgy.EWS.Client.Entity;
using Txgy.EWS.Client.IBLL;
namespace BaseModule.ViewModels
{
public class AddRoleDialogViewModel : BindableBase, IDialogAware
{
public string Title => "添加角色信息";
public event Action<IDialogResult> RequestClose;
public bool CanCloseDialog() => true;
public void OnDialogClosed() { }
public void OnDialogOpened(IDialogParameters parameters) { }
private string _roleName;
public string RoleName
{
get => _roleName;
set { SetProperty<string>(ref _roleName, value); }
}
public ICommand ConfirmCommand
{
get => new DelegateCommand(() =>
{
// 保存数据到数据库
_roleBLL.Save(new RoleEntity { roleId = 0, roleName = this.RoleName, state = 1 }, new List<int>(), new List<int>());
RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
});
}
public ICommand CancelCommand
{
get => new DelegateCommand(() =>
{
RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel));
});
}
IRoleBLL _roleBLL;
public AddRoleDialogViewModel(IRoleBLL roleBLL)
{
_roleBLL = roleBLL;
}
}
}

@ -0,0 +1,98 @@
using Prism.Commands;
using Prism.Mvvm;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using Txgy.EWS.Client.Entity;
using Txgy.EWS.Client.IBLL;
using Txgy.EWS.Client.Models;
namespace BaseModule.ViewModels
{
public class AddUserDialogViewModel : BindableBase, IDialogAware
{
private string _title = "用户信息";
public string Title => _title;
public event Action<IDialogResult> RequestClose;
public bool CanCloseDialog()
{
return true;
}
public void OnDialogClosed() { }
public void OnDialogOpened(IDialogParameters parameters)
{
_title = "编辑" + _title;
var _type = parameters.GetValue<int>("type");
_title = (_type == 0 ? "新增" : "修改") + _title;
this.RaisePropertyChanged("Title");
// 编辑状态
// 当编辑状态用户Name不可以修改在新增的时候是可以输入的
if (_type == 1)
{
IsReadOnlyUserName = true;
MainModel = parameters.GetValue<UserInfoModel>("model");
}
}
private UserInfoModel _mainModel = new UserInfoModel();
public UserInfoModel MainModel
{
get => _mainModel;
set { SetProperty<UserInfoModel>(ref _mainModel, value); }
}
private bool _isReadOnlyUserName = false;
public bool IsReadOnlyUserName
{
get => _isReadOnlyUserName;
set { SetProperty<bool>(ref _isReadOnlyUserName, value); }
}
public ICommand ConfirmCommand
{
get => new DelegateCommand(() =>
{
// 确认操作
// 数据校验关键字段不能为空、年龄做数字区间的校验、做UserName的唯一检查自定义特性检查
// 校验通过
// 保存数据到数据库 新增和修改
_userBLL.SaveUser(new UserEntity
{
UserId = MainModel.UserId,
UserName = MainModel.UserName,
RealName = MainModel.RealName,
UserIcon = MainModel.UserIcon?.Replace(System.Configuration.ConfigurationManager.AppSettings["CadSettingsFileName"].ToString(), ""),
Password = MainModel.Password,
Age = MainModel.Age
});
RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
});
}
public ICommand CancelCommand
{
get => new DelegateCommand(() =>
{
RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel));
});
}
IUserBLL _userBLL;
public AddUserDialogViewModel(IUserBLL userBLL)
{
_userBLL = userBLL;
}
}
}

@ -0,0 +1,80 @@
using Prism.Commands;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using Txgy.EWS.Client.IBLL;
using Txgy.EWS.Client.Models;
namespace BaseModule.ViewModels
{
public class ModifyRolesDialogViewModel : IDialogAware
{
public string Title => "用户角色分配";
public event Action<IDialogResult> RequestClose;
public bool CanCloseDialog() => true;
public void OnDialogClosed() { }
public void OnDialogOpened(IDialogParameters parameters)
{
userId = parameters.GetValue<int>("userId");
roleIdList = parameters.GetValue<List<int>>("roles");// 用户已有的角色ID
}
private List<int> roleIdList = new List<int>();
private int userId = 0;
public ObservableCollection<RoleModel> Roles { get; set; } = new ObservableCollection<RoleModel>();
IRoleBLL _roleBLL;
IUserBLL _userBLL;
public ModifyRolesDialogViewModel(IRoleBLL roleBLL, IUserBLL userBLL)
{
_roleBLL = roleBLL;
_userBLL = userBLL;
this.InitRoles();
}
private async void InitRoles()
{
var roles = await _roleBLL.GetAll();// 获取系统数据库中所有可用的角色
Roles.Clear();
roles.ForEach(r => Roles.Add(new RoleModel
{
RoleId = r.roleId,
RoleName = r.roleName,
IsSelected = roleIdList.Contains(r.roleId)
}));
}
public ICommand ConfirmCommand
{
get => new DelegateCommand(() =>
{
// 保存当前用户的角色信息
if (userId > 0)
{
var roles = this.Roles.Where(r => r.IsSelected).ToList().Select(r => r.RoleId).ToList();
_userBLL.UpdateRoles(userId, roles);
RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
}
});
}
public ICommand CancelCommand
{
get => new DelegateCommand(() =>
{
RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel));
});
}
}
}

@ -0,0 +1,247 @@
using Prism.Commands;
using Prism.Events;
using Prism.Regions;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using System.Windows.Threading;
using Txgy.EWS.Client.Common;
using Txgy.EWS.Client.Entity;
using Txgy.EWS.Client.IBLL;
using Txgy.EWS.Client.Models;
using Unity;
namespace BaseModule.ViewModels
{
public class RoleManagementViewModel : PageViewModelBase
{
public ObservableCollection<RoleModel> Roles { get; set; } = new ObservableCollection<RoleModel>();
public ObservableCollection<UserInfoModel> Users { get; set; } = new ObservableCollection<UserInfoModel>();
public ObservableCollection<MenuItemModel> Menus { get; set; } = new ObservableCollection<MenuItemModel>();
private RoleModel _currentRole;
public RoleModel CurrentRole
{
get => _currentRole;
set { SetProperty<RoleModel>(ref _currentRole, value); }
}
public ICommand SaveCommand
{
get => new DelegateCommand(async () =>
{
this.ShowLoading("正在保存....");
_menusids.Clear();
GetSelectedMenuIds(Menus);
await _roleBLL.Save(new RoleEntity { roleId = CurrentRole.RoleId, roleName = CurrentRole.RoleName, state = 1 },
Users.Select(u => u.UserId).ToList(),
_menusids);
this.HideLoading();
System.Windows.MessageBox.Show("数据保存完成", "提示");
this.Refresh();
});
}
public ICommand AddUserCommand
{
get => new DelegateCommand(() =>
{
DialogParameters param = new DialogParameters();
param.Add("ids", Users.Select(u => u.UserId).ToList());
_dialogService.ShowDialog(
"SelectUserDialog",
param,
new Action<IDialogResult>(result =>
{
if (result != null && result.Result == ButtonResult.OK)
{
var users = result.Parameters.GetValue<List<UserInfoModel>>("users");
users.ForEach(u => Users.Add(new UserInfoModel
{
UserId = u.UserId,
UserName = u.UserName,
RealName = u.RealName,
DeleteCommand = new DelegateCommand<object>((obj) =>
{
Users.Remove(obj as UserInfoModel);
})
}));
}
}));
});
}
Dispatcher _dispatcher;
IRoleBLL _roleBLL;
IMenuBLL _menuBLL;
IDialogService _dialogService;
public RoleManagementViewModel(
IRegionManager regionManager,
IUnityContainer unityContainer,
IEventAggregator ea,
IRoleBLL roleBLL,
IMenuBLL menuBLL,
IDialogService dialogService
)
: base(regionManager, unityContainer, ea)
{
this.PageTitle = "用户角色管理";
_dispatcher = unityContainer.Resolve<Dispatcher>();
_dialogService = dialogService;
_roleBLL = roleBLL;
_menuBLL = menuBLL;
}
public override void Refresh()
{
this.ShowLoading();
Roles.Clear();
Task.Run(async () =>
{
var roles = await _roleBLL.GetAll();
if (roles != null)
{
_dispatcher.Invoke(() =>
{
roles.ForEach(r => Roles.Add(new RoleModel
{
RoleId = r.roleId,
RoleName = r.roleName,
ItemSelectedCommand = new DelegateCommand<object>(async (obj) =>
{
this.CurrentRole = obj as RoleModel;
await LoadUsersAndMenus();
}),
DeleteCommand = new DelegateCommand<object>(DeleteItem)
}));
});
if (Roles.Count > 0)
{
Roles[0].IsSelected = true;
CurrentRole = Roles[0];
}
}
await LoadUsersAndMenus();
this.HideLoading();
});
}
private async Task LoadUsersAndMenus()
{
_dispatcher.Invoke(() =>
{
Users.Clear(); Menus.Clear();
});
if (CurrentRole != null)
{
// 获取当前角色下所有用户
var users = await _roleBLL.GetAllUsers(CurrentRole.RoleId);
_dispatcher.Invoke(() =>
{
users.ForEach(u => Users.Add(new UserInfoModel
{
UserId = u.UserId,
UserName = u.UserName,
DeleteCommand = new DelegateCommand<object>((obj) =>
{
Users.Remove(obj as UserInfoModel);
})
}));
});
// 获取当前角色下所有菜单
var alls = await _menuBLL.GetAllMenus();
var current = await _menuBLL.GetMenus(CurrentRole.RoleId);
// 递归菜单数据
_dispatcher.Invoke(() =>
{
FillMenus(alls, Menus, new MenuItemModel { MenuId = 0 }, current.Select(c => c.MenuId).ToList());
});
}
}
private void FillMenus(IList<MenuEntity> origMenus, IList<MenuItemModel> menus, MenuItemModel parent, IList<int> role_menus)
{
var sub = origMenus.Where(m => m.ParentId == parent.MenuId).OrderBy(o => o.Index);
if (sub.Count() > 0)
{
foreach (var item in sub)
{
MenuItemModel mm = new MenuItemModel()
{
MenuId = item.MenuId,
MenuHeader = item.MenuHeader,
MenuIcon = item.MenuIcon,
TargetView = item.TargetView,
IsExpanded = true,
MenuType = item.MenuType,
ParentId = item.ParentId,
Index = item.Index,
IsSelected = role_menus.Contains(item.MenuId),
Parent = parent
};
FillMenus(origMenus, mm.Children, mm, role_menus);
mm.HasChild = mm.Children.Count > 0;
menus.Add(mm);
}
}
}
List<int> _menusids = new List<int>();
private void GetSelectedMenuIds(IList<MenuItemModel> menus)
{
if (menus != null && menus.Count > 0)
{
menus.ToList().ForEach(m =>
{
if (m.IsSelected)
_menusids.Add(m.MenuId);
GetSelectedMenuIds(m.Children);
});
}
}
public override void AddItem()
{
_dialogService.ShowDialog(
"AddRoleDialog",
null,
new Action<IDialogResult>(result =>
{
if (result != null && result.Result == ButtonResult.OK)
{
System.Windows.MessageBox.Show("数据已保存", "提示");
this.Refresh();
}
}));
}
public override bool CanExcute()
{
return true;
}
private async void DeleteItem(object obj)
{
if (System.Windows.MessageBox.Show("是否确定删除此角色信息?", "提示", System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxImage.Question) == System.Windows.MessageBoxResult.Yes)
{
this.ShowLoading("正在删除....");
var value = obj as RoleModel;
await _roleBLL.Save(new RoleEntity { roleId = value.RoleId, roleName = value.RoleName, state = 0 },
new List<int>(), new List<int>());
this.Refresh();
}
}
}
}

@ -0,0 +1,74 @@
using Prism.Commands;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using Txgy.EWS.Client.IBLL;
using Txgy.EWS.Client.Models;
namespace BaseModule.ViewModels
{
public class SelectUserDialogViewModel : IDialogAware
{
public string Title => "选择用户";
public event Action<IDialogResult> RequestClose;
public bool CanCloseDialog() => true;
public void OnDialogClosed() { }
public void OnDialogOpened(IDialogParameters parameters)
{
_userIds = parameters.GetValue<List<int>>("ids");
}
List<int> _userIds;
public ObservableCollection<UserInfoModel> Users { get; set; } = new ObservableCollection<UserInfoModel>();
IUserBLL _userBLL;
public SelectUserDialogViewModel(IUserBLL userBLL)
{
_userBLL = userBLL;
this.InitUsers();
}
private async void InitUsers()
{
var users = await _userBLL.GetAll();
users.Where(u => !_userIds.Contains(u.UserId)).ToList().
ForEach(u => Users.Add(new UserInfoModel
{
UserId = u.UserId,
UserName = u.UserName,
RealName = u.RealName
}));
}
public ICommand ConfirmCommand
{
get => new DelegateCommand(() =>
{
// 返回选中用户
DialogParameters param = new DialogParameters();
param.Add("users", Users.Where(u => u.IsSelected).ToList());
RequestClose?.Invoke(new DialogResult(ButtonResult.OK, param));
});
}
public ICommand CancelCommand
{
get => new DelegateCommand(() =>
{
RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel));
});
}
}
}

@ -0,0 +1,159 @@
using Prism.Commands;
using Prism.Events;
using Prism.Regions;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Threading;
using Txgy.EWS.Client.Common;
using Txgy.EWS.Client.IBLL;
using Txgy.EWS.Client.Models;
using Unity;
namespace BaseModule.ViewModels
{
public class UserManagementViewModel : PageViewModelBase
{
public ObservableCollection<UserInfoModel> Users { get; set; } = new ObservableCollection<UserInfoModel>();
IUnityContainer _unityContainer;
IDialogService _dialogService;
IUserBLL _userBLL;
IRoleBLL _roleBLL;
public UserManagementViewModel(
IRegionManager regionManager,
IUnityContainer unityContainer,
IEventAggregator ea,
IDialogService dialogService,
IUserBLL userBLL,
IRoleBLL roleBLL)
: base(regionManager, unityContainer, ea)
{
this.PageTitle = "系统用户管理";
_userBLL = userBLL;
_roleBLL = roleBLL;
_unityContainer = unityContainer;
_dialogService = dialogService;
}
public override void Refresh()
{
this.ShowLoading();
Users.Clear();
Task.Run(async () =>
{
var users = await _userBLL.GetAll();
foreach (var item in users)
{
UserInfoModel model = new UserInfoModel
{
Index = users.IndexOf(item) + 1,
UserId = item.UserId,
UserName = item.UserName,
UserIcon = System.Configuration.ConfigurationManager.AppSettings["api_domain"].ToString() + item.UserIcon,
Age = item.Age,
Password = item.Password,
RealName = item.RealName
};
// 获取用户对应的所有角色
var roles = await _roleBLL.GetAllByUserId(item.UserId);
roles?.ForEach(r => model.Roles.Add(new RoleModel { RoleId = r.roleId, RoleName = r.roleName, State = r.state }));
model.EditCommand = new DelegateCommand<object>(EditItem);
model.DeleteCommand = new DelegateCommand<object>(DeleteItem);
model.RoleCommand = new DelegateCommand<object>(SetRoles);
model.PwdCommand = new DelegateCommand<object>(SetPassword);
_unityContainer.Resolve<Dispatcher>().Invoke(() =>
{
Users.Add(model);
});
}
this.HideLoading();
});
}
public override void AddItem()
{
DialogParameters param = new DialogParameters();
param.Add("type", 0);// 新增
ShowEditDialog(param);
}
public override bool CanExcute()
{
return true;
}
private void EditItem(object obj)
{
DialogParameters param = new DialogParameters();
param.Add("type", 1);// 编辑
param.Add("model", obj as UserInfoModel);
ShowEditDialog(param);
}
private void ShowEditDialog(DialogParameters param)
{
_dialogService.ShowDialog(
"AddUserDialog",
param,
new Action<IDialogResult>(result =>
{
if (result != null && result.Result == ButtonResult.OK)
{
System.Windows.MessageBox.Show("数据已保存", "提示");
this.Refresh();
}
}));
}
private async void DeleteItem(object obj)
{
if (System.Windows.MessageBox.Show("是否确定删除此用户信息?", "提示", System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxImage.Question) == System.Windows.MessageBoxResult.Yes)
{
var model = obj as UserInfoModel;
if (model != null)
await _userBLL.ChangeState(model.UserId, 0);
this.Refresh();
}
}
private void SetRoles(object obj)
{
DialogParameters param = new DialogParameters();
param.Add("userId", (obj as UserInfoModel).UserId);// Dialog进行数据保存知道对哪个用户进行操作
param.Add("roles", (obj as UserInfoModel).Roles.Select(r => r.RoleId).ToList());
_dialogService.ShowDialog(
"ModifyRolesDialog",
param,
new Action<IDialogResult>(result =>
{
if (result != null && result.Result == ButtonResult.OK)
{
System.Windows.MessageBox.Show("角色分配完成", "提示");
this.Refresh();
}
}));
}
private void SetPassword(object obj)
{
this.ShowLoading("正在重置....");
Task.Run(async () =>
{
await _userBLL.ResetPassword((obj as UserInfoModel).UserId);
System.Windows.MessageBox.Show("密码已重置", "提示");
this.HideLoading();
});
}
}
}

@ -0,0 +1,54 @@
<UserControl x:Class="BaseModule.Views.AddRoleDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BaseModule.Views"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/BaseResources.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/ButtonStyles.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/TextBoxStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<prism:Dialog.WindowStyle>
<Style TargetType="Window">
<Setter Property="Width" Value="400"/>
<Setter Property="Height" Value="220"/>
</Style>
</prism:Dialog.WindowStyle>
<Grid Margin="0,20,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="70"/>
<RowDefinition/>
<RowDefinition Height="70"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Title}" FontSize="20" VerticalAlignment="Center" Foreground="#888" Margin="10,0"/>
<Grid Grid.Row="1" Margin="20,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="角色名称" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="#888"/>
<TextBox Grid.Column="1" Style="{StaticResource NormalTextBoxStyle}" Text="{Binding RoleName}"/>
</Grid>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row="2" Margin="20,0">
<Button Content="确定" Width="100" Height="30" Margin="5,0"
Style="{StaticResource NormalButtonStyle}"
Background="#FF0ABEFF"
Command="{Binding ConfirmCommand}"/>
<Button Content="取消" Width="100" Height="30"
Style="{StaticResource NormalButtonStyle}"
Background="#DDD" Foreground="#666"
Command="{Binding CancelCommand}"/>
</StackPanel>
</Grid>
</UserControl>

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BaseModule.Views
{
/// <summary>
/// AddRoleDialog.xaml 的交互逻辑
/// </summary>
public partial class AddRoleDialog : UserControl
{
public AddRoleDialog()
{
InitializeComponent();
}
}
}

@ -0,0 +1,66 @@
<UserControl x:Class="BaseModule.Views.AddUserDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BaseModule.Views"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/BaseResources.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/ButtonStyles.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/TextBoxStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<prism:Dialog.WindowStyle>
<Style TargetType="Window">
<Setter Property="Width" Value="500"/>
<Setter Property="Height" Value="300"/>
</Style>
</prism:Dialog.WindowStyle>
<Grid Margin="0,20,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="70"/>
<RowDefinition/>
<RowDefinition Height="70"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Title}" FontSize="20" VerticalAlignment="Center" Foreground="#888" Margin="10,0"/>
<Grid Grid.Row="1" Margin="20,10">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="用户名" VerticalAlignment="Center" Foreground="#888"/>
<TextBlock Text="姓 名" Grid.Row="1" VerticalAlignment="Center" Foreground="#888"/>
<TextBlock Text="年 龄" Grid.Row="2" VerticalAlignment="Center" Foreground="#888"/>
<TextBox Grid.Column="1" Text="{Binding MainModel.UserName}" Style="{StaticResource NormalTextBoxStyle}"
IsReadOnly="{Binding IsReadOnlyUserName}"/>
<TextBox Grid.Column="1" Text="{Binding MainModel.RealName}" Grid.Row="1" Style="{StaticResource NormalTextBoxStyle}"/>
<TextBox Grid.Column="1" Text="{Binding MainModel.Age}" Grid.Row="2" Style="{StaticResource NormalTextBoxStyle}"/>
</Grid>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row="2" Margin="20,0">
<Button Content="确定" Width="100" Height="30" Margin="5,0"
Style="{StaticResource NormalButtonStyle}"
Background="#FF0ABEFF"
Command="{Binding ConfirmCommand}"/>
<Button Content="取消" Width="100" Height="30"
Style="{StaticResource NormalButtonStyle}"
Background="#DDD" Foreground="#666"
Command="{Binding CancelCommand}"/>
</StackPanel>
</Grid>
</UserControl>

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BaseModule.Views
{
/// <summary>
/// AddUserDialog.xaml 的交互逻辑
/// </summary>
public partial class AddUserDialog : UserControl
{
public AddUserDialog()
{
InitializeComponent();
}
}
}

@ -0,0 +1,84 @@
<UserControl x:Class="BaseModule.Views.ModifyRolesDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BaseModule.Views"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/BaseResources.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/ButtonStyles.xaml"/>
<ResourceDictionary>
<Style TargetType="CheckBox" x:Key="RoleItemButtonStyle">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="CheckBox">
<Grid Background="Transparent">
<Border BorderBrush="#EEE" BorderThickness="1" CornerRadius="3" Name="back">
<TextBlock Text="{TemplateBinding Content}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="8,5"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="orange" TargetName="back"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<prism:Dialog.WindowStyle>
<Style TargetType="Window">
<Setter Property="Width" Value="500"/>
<Setter Property="Height" Value="450"/>
</Style>
</prism:Dialog.WindowStyle>
<Grid Margin="0,20,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="70"/>
<RowDefinition/>
<RowDefinition Height="70"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Title}" FontSize="20" VerticalAlignment="Center" Foreground="#888" Margin="10,0"/>
<ItemsControl ItemsSource="{Binding Roles}" Grid.Row="1" Margin="20">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding RoleName}" DataContext="{Binding}"
IsChecked="{Binding IsSelected}" Margin="8,5"
Style="{StaticResource RoleItemButtonStyle}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row="2" Margin="20,0">
<Button Content="确定" Width="100" Height="30" Margin="5,0"
Style="{StaticResource NormalButtonStyle}"
Background="#FF0ABEFF"
Command="{Binding ConfirmCommand}"/>
<Button Content="取消" Width="100" Height="30"
Style="{StaticResource NormalButtonStyle}"
Background="#DDD" Foreground="#666"
Command="{Binding CancelCommand}"/>
</StackPanel>
</Grid>
</UserControl>

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BaseModule.Views
{
/// <summary>
/// ModifyRolesDialog.xaml 的交互逻辑
/// </summary>
public partial class ModifyRolesDialog : UserControl
{
public ModifyRolesDialog()
{
InitializeComponent();
}
}
}

@ -0,0 +1,204 @@
<UserControl x:Class="BaseModule.Views.RoleManagementView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BaseModule.Views"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/BaseResources.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/ButtonStyles.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/TextBoxStyle.xaml"/>
<ResourceDictionary>
<Style TargetType="TabItem">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="#888"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Border Height="30" Background="{TemplateBinding Background}" CornerRadius="5,5,0,0">
<TextBlock Text="{TemplateBinding Header}" VerticalAlignment="Center" HorizontalAlignment="Center"
Margin="20,5"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#FF0ABEFF"/>
<Setter Property="Foreground" Value="white"/>
</Trigger>
</Style.Triggers>
</Style>
<ControlTemplate TargetType="RadioButton" x:Key="RoleItemButtonTemplate">
<Grid Background="Transparent" Height="30" Name="root">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="50"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{TemplateBinding Content}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,0"/>
<TextBlock Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center">
<Hyperlink Command="{Binding DeleteCommand}"
CommandParameter="{Binding}">删除</Hyperlink>
</TextBlock>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="#FF0ABEFF" TargetName="root"/>
<Setter Property="Foreground" Value="white"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate TargetType="CheckBox" x:Key="ListRowTemplate">
<Grid Background="Transparent" Name="back">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Width="14" Height="14" CornerRadius="3" BorderThickness="1" BorderBrush="#DDD" Name="checked">
<TextBlock Text="&#xe608;" FontFamily="{StaticResource Iconfont}" VerticalAlignment="Center" HorizontalAlignment="Center"
Name="gou" Visibility="Collapsed" Foreground="White"/>
</Border>
<TextBlock Text="{Binding MenuHeader}" VerticalAlignment="Center" Grid.Column="1"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#08000000" TargetName="back"/>
</Trigger>
<DataTrigger Binding="{Binding IsCurrent}" Value="True">
<Setter Property="Background" Value="#11000000" TargetName="back"/>
</DataTrigger>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Visibility" Value="Visible" TargetName="gou"/>
<Setter Property="Background" Value="#FF0ABEFF" TargetName="checked"/>
<Setter Property="BorderBrush" Value="#FF0ABEFF" TargetName="checked"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<DataTemplate x:Key="MenuItemTemplate">
<Grid Name="root" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<CheckBox IsChecked="{Binding IsSelected}" Height="35" Template="{StaticResource ListRowTemplate}"/>
<ItemsControl ItemsSource="{Binding Children}" Grid.Row="1" Margin="20,0,0,0"
ItemTemplate="{DynamicResource MenuItemTemplate}" Name="childlist"/>
</Grid>
</DataTemplate>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid Margin="20">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderBrush="#DDD" BorderThickness="0,0,0,1"/>
<TextBox Text="" VerticalAlignment="Center" Width="300" HorizontalAlignment="Left" Style="{DynamicResource SearchTextBoxStyle}"/>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Right" Orientation="Horizontal">
<Button Content="刷新" Style="{StaticResource NormalButtonStyle}" Background="#FF0ABEFF"
Width="70" Margin="5,0"
Command="{Binding RefreshCommand}"/>
<Button Content="添加角色"
Style="{StaticResource IconWithContentButtonStyle}" Width="100"
Tag="&#xe603;" Background="#FFF05005"
Command="{Binding AddCommand}"/>
</StackPanel>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="220"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ItemsControl ItemsSource="{Binding Roles}" Background="#F7F9FA" Margin="0,10" BorderBrush="#EEE" BorderThickness="1">
<ItemsControl.ItemTemplate>
<DataTemplate>
<RadioButton Content="{Binding RoleName}" IsChecked="{Binding IsSelected}" GroupName="role_btn"
Template="{StaticResource RoleItemButtonTemplate}"
Command="{Binding ItemSelectedCommand}"
CommandParameter="{Binding}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Grid Grid.Column="1" Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<Grid Height="45" DataContext="{Binding CurrentRole}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="角色名称" VerticalAlignment="Center" Foreground="#888"/>
<TextBox Text="{Binding RoleName}" Grid.Column="1" Style="{StaticResource NormalTextBoxStyle}"/>
</Grid>
<TabControl Grid.Row="1" BorderThickness="0,1,0,0">
<TabItem Header="用户">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<ItemsControl ItemsSource="{Binding Users}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Background="#F7F9FA" CornerRadius="3" Margin="5">
<Grid Margin="5,3">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding UserName}" Foreground="#444" Margin="10,5"/>
<Button Width="20" Grid.Column="1" Style="{StaticResource IconButtonStyle}" Background="Transparent"
Content="&#xe625;" FontSize="10" Foreground="#444"
Command="{Binding DeleteCommand}"
CommandParameter="{Binding}"/>
</Grid>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Border Grid.Row="1" Background="#F7F9FA"/>
<TextBlock Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" Width="100" TextAlignment="Center">
<Hyperlink Command="{Binding AddUserCommand}">添加用户</Hyperlink>
</TextBlock>
</Grid>
</TabItem>
<TabItem Header="菜单">
<ItemsControl ItemsSource="{Binding Menus}" ItemTemplate="{StaticResource MenuItemTemplate}">
</ItemsControl>
</TabItem>
</TabControl>
<Button Content="保存修改" Width="100" Height="30" Margin="5,0" Grid.Row="2" HorizontalAlignment="Right"
Style="{StaticResource NormalButtonStyle}"
Background="#FF0ABEFF"
Command="{Binding SaveCommand}"/>
</Grid>
</Grid>
</Grid>
</UserControl>

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BaseModule.Views
{
/// <summary>
/// RoleManagementView.xaml 的交互逻辑
/// </summary>
public partial class RoleManagementView : UserControl
{
public RoleManagementView()
{
InitializeComponent();
}
}
}

@ -0,0 +1,79 @@
<UserControl x:Class="BaseModule.Views.SelectUserDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BaseModule.Views"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/BaseResources.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/ButtonStyles.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/TextBoxStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<prism:Dialog.WindowStyle>
<Style TargetType="Window">
<Setter Property="Width" Value="500"/>
<Setter Property="Height" Value="450"/>
</Style>
</prism:Dialog.WindowStyle>
<Grid Margin="0,20,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="70"/>
<RowDefinition/>
<RowDefinition Height="70"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Title}" FontSize="20" VerticalAlignment="Center" Foreground="#888" Margin="10,0"/>
<Grid Grid.Row="1" Margin="20,10">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Background="#EEE"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="选择" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="用户名称" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<TextBlock Text="用户姓名" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Left"/>
</Grid>
<ItemsControl ItemsSource="{Binding Users}" Grid.Row="1">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Height="30">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<CheckBox IsChecked="{Binding IsSelected}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="{Binding UserName}" Grid.Column="1" VerticalAlignment="Center"/>
<TextBlock Text="{Binding RealName}" Grid.Column="2" VerticalAlignment="Center"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row="2" Margin="20,0">
<Button Content="确定" Width="100" Height="30" Margin="5,0"
Style="{StaticResource NormalButtonStyle}"
Background="#FF0ABEFF"
Command="{Binding ConfirmCommand}"/>
<Button Content="取消" Width="100" Height="30"
Style="{StaticResource NormalButtonStyle}"
Background="#DDD" Foreground="#666"
Command="{Binding CancelCommand}"/>
</StackPanel>
</Grid>
</UserControl>

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BaseModule.Views
{
/// <summary>
/// SelectUserDialog.xaml 的交互逻辑
/// </summary>
public partial class SelectUserDialog : UserControl
{
public SelectUserDialog()
{
InitializeComponent();
}
}
}

@ -0,0 +1,137 @@
<UserControl x:Class="BaseModule.Views.UserManagementView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BaseModule.Views"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/BaseResources.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/ButtonStyles.xaml"/>
<ResourceDictionary Source="/Txgy.EWS.Client.Assets;component/Styles/TextBoxStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid Margin="20">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderBrush="#DDD" BorderThickness="0,0,0,1"/>
<TextBox Text="" VerticalAlignment="Center" Width="300" HorizontalAlignment="Left" Style="{DynamicResource SearchTextBoxStyle}"/>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Right" Orientation="Horizontal">
<Button Content="刷新" Style="{StaticResource NormalButtonStyle}" Background="#FF0ABEFF"
Width="70" Margin="5,0"
Command="{Binding RefreshCommand}"/>
<Button Content="添加"
Style="{StaticResource IconWithContentButtonStyle}" Width="100"
Tag="&#xe603;" Background="#FFF05005"
Command="{Binding AddCommand}"/>
</StackPanel>
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Background="#EEE"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<TextBlock Text="序号" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="头像" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="用户信息" Grid.Column="2" VerticalAlignment="Center" />
<TextBlock Text="角色" Grid.Column="3" VerticalAlignment="Center" />
<TextBlock Text="操作" Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<!--编辑、分配权限、重置密码、删除-->
</Grid>
<ItemsControl Grid.Row="1" ItemsSource="{Binding Users}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Background="Transparent" Name="root">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<Border BorderBrush="#EEE" BorderThickness="0,0,0,1" Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="10" SnapsToDevicePixels="True"/>
<TextBlock Text="{Binding Index}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Column="1" Width="40" Height="40" CornerRadius="20" BorderBrush="White" BorderThickness="2">
<Border.Effect>
<DropShadowEffect BlurRadius="10" ShadowDepth="0" Direction="0" Color="Gray" Opacity="0.3"/>
</Border.Effect>
<Border.Background>
<ImageBrush ImageSource="{Binding UserIcon}"/>
</Border.Background>
</Border>
<StackPanel Grid.Column="2" Margin="0,10">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding RealName}" VerticalAlignment="Center"/>
<TextBlock Text="状态:有效" FontSize="11" Foreground="#888" VerticalAlignment="Center" Margin="10,0"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding UserName}" Foreground="#888"/>
<TextBlock Text="{Binding Age}" Foreground="#888" Margin="10,0"/>
</StackPanel>
<TextBlock>
<Run Text="["/>
<Hyperlink Command="{Binding PwdCommand}" CommandParameter="{Binding}">重置密码</Hyperlink>
<Run Text="]"/>
</TextBlock>
</StackPanel>
<StackPanel Grid.Column="3" VerticalAlignment="Center">
<ItemsControl ItemsSource="{Binding Roles}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding RoleName}" Margin="3"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<TextBlock HorizontalAlignment="Left" Margin="0,5,0,0">
<Run Text="["/>
<Hyperlink Command="{Binding RoleCommand}" CommandParameter="{Binding}">角色分配</Hyperlink>
<Run Text="]"/>
</TextBlock>
</StackPanel>
<StackPanel Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
<TextBlock Margin="3,0">
<Hyperlink Command="{Binding EditCommand}" CommandParameter="{Binding}">编辑</Hyperlink>
</TextBlock>
<TextBlock Margin="3,0">
<Hyperlink Command="{Binding DeleteCommand}" CommandParameter="{Binding}">删除</Hyperlink>
</TextBlock>
</StackPanel>
</Grid>
<DataTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="root" Property="Background" Value="#F7F9FA"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Grid>
</UserControl>

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BaseModule.Views
{
/// <summary>
/// UserManagementView.xaml 的交互逻辑
/// </summary>
public partial class UserManagementView : UserControl
{
public UserManagementView()
{
InitializeComponent();
}
}
}

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Prism.Wpf" publicKeyToken="40ee6c3a2184dc59" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1909" newVersion="8.0.0.1909" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Prism" publicKeyToken="40ee6c3a2184dc59" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1909" newVersion="8.0.0.1909" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Unity.Container" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.11.8.0" newVersion="5.11.8.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Unity.Abstractions" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.11.6.0" newVersion="5.11.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FreeSql" publicKeyToken="a33928e5d4a4b39c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.687.0" newVersion="3.2.687.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.117.0" newVersion="1.0.117.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="OxyPlot" publicKeyToken="638079a8f0bd61e9" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.2.0" newVersion="2.1.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Prism.Wpf" publicKeyToken="40ee6c3a2184dc59" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1909" newVersion="8.0.0.1909" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Prism" publicKeyToken="40ee6c3a2184dc59" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1909" newVersion="8.0.0.1909" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Unity.Container" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.11.8.0" newVersion="5.11.8.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Unity.Abstractions" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.11.6.0" newVersion="5.11.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FreeSql" publicKeyToken="a33928e5d4a4b39c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.687.0" newVersion="3.2.687.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.117.0" newVersion="1.0.117.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="OxyPlot" publicKeyToken="638079a8f0bd61e9" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.2.0" newVersion="2.1.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -0,0 +1,933 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>OxyPlot.Wpf.Shared</name>
</assembly>
<members>
<member name="T:OxyPlot.Wpf.OxyColorConverter">
<summary>
Converts between <see cref="T:OxyPlot.OxyColor" /> and <see cref="T:System.Windows.Media.Color" />.
</summary>
</member>
<member name="M:OxyPlot.Wpf.OxyColorConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
<summary>
Converts a value.
</summary>
<param name="value">The value produced by the binding source.</param>
<param name="targetType">The type of the binding target property.</param>
<param name="parameter">The converter parameter to use.</param>
<param name="culture">The culture to use in the converter.</param>
<returns>A converted value. If the method returns <c>null</c>, the valid <c>null</c> value is used.</returns>
</member>
<member name="M:OxyPlot.Wpf.OxyColorConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
<summary>
Converts a value.
</summary>
<param name="value">The value that is produced by the binding target.</param>
<param name="targetType">The type to convert to.</param>
<param name="parameter">The converter parameter to use.</param>
<param name="culture">The culture to use in the converter.</param>
<returns>A converted value. If the method returns <c>null</c>, the valid <c>null</c> value is used.</returns>
</member>
<member name="T:OxyPlot.Wpf.ThicknessConverter">
<summary>
Converts from <see cref="T:System.Windows.Thickness" /> to the maximum thicknesses.
</summary>
<remarks>This is used in the <see cref="T:OxyPlot.Wpf.TrackerControl" /> to convert BorderThickness properties to Path.StrokeThickness (double).
The maximum thickness value is used.</remarks>
</member>
<member name="M:OxyPlot.Wpf.ThicknessConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
<summary>
Converts a value.
</summary>
<param name="value">The value produced by the binding source.</param>
<param name="targetType">The type of the binding target property.</param>
<param name="parameter">The converter parameter to use.</param>
<param name="culture">The culture to use in the converter.</param>
<returns>A converted value. If the method returns <c>null</c>, the valid <c>null</c> value is used.</returns>
</member>
<member name="M:OxyPlot.Wpf.ThicknessConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
<summary>
Converts a value.
</summary>
<param name="value">The value that is produced by the binding target.</param>
<param name="targetType">The type to convert to.</param>
<param name="parameter">The converter parameter to use.</param>
<param name="culture">The culture to use in the converter.</param>
<returns>A converted value. If the method returns <c>null</c>, the valid <c>null</c> value is used.</returns>
</member>
<member name="T:OxyPlot.Wpf.ExporterExtensions">
<summary>
Provides extension methods for exporters.
</summary>
</member>
<member name="M:OxyPlot.Wpf.ExporterExtensions.ExportToFile(OxyPlot.IExporter,OxyPlot.IPlotModel,System.String)">
<summary>
Exports the specified <see cref="T:OxyPlot.PlotModel" /> to a file.
</summary>
<param name="exporter">The exporter.</param>
<param name="model">The model to export.</param>
<param name="path">The path to the file.</param>
</member>
<member name="T:OxyPlot.Wpf.MoreColors">
<summary>
Defines additional <see cref="T:System.Windows.Media.Colors" />.
</summary>
</member>
<member name="F:OxyPlot.Wpf.MoreColors.Undefined">
<summary>
The undefined color.
</summary>
</member>
<member name="F:OxyPlot.Wpf.MoreColors.Automatic">
<summary>
The automatic color.
</summary>
</member>
<member name="T:OxyPlot.Wpf.PlotCommands">
<summary>
Provides a standard set of commands for the <see cref="T:OxyPlot.Wpf.PlotViewBase" /> control.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotCommands.ResetAxes">
<summary>
Gets the value that represents the "Reset all axes" command.
</summary>
</member>
<member name="T:OxyPlot.Wpf.PlotViewBase">
<summary>
Base class for WPF PlotView implementations.
</summary>
<summary>
Base class for WPF PlotView implementations.
</summary>
<summary>
Base class for WPF PlotView implementations.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.PartGrid">
<summary>
The Grid PART constant.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.grid">
<summary>
The grid.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.plotPresenter">
<summary>
The plot presenter.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.renderContext">
<summary>
The render context
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.modelLock">
<summary>
The model lock.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.currentTracker">
<summary>
The current tracker.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.currentTrackerTemplate">
<summary>
The current tracker template.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.defaultController">
<summary>
The default plot controller.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.isInVisualTree">
<summary>
Indicates whether the <see cref="T:OxyPlot.Wpf.PlotViewBase"/> was in the visual tree the last time <see cref="M:OxyPlot.Wpf.PlotViewBase.Render"/> was called.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.mouseDownPoint">
<summary>
The mouse down point.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.overlays">
<summary>
The overlays.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.zoomControl">
<summary>
The zoom control.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.#cctor">
<summary>
Initializes static members of the <see cref="T:OxyPlot.Wpf.PlotViewBase" /> class.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.PlotViewBase" /> class.
</summary>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.ActualController">
<summary>
Gets the actual PlotView controller.
</summary>
<value>The actual PlotView controller.</value>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.OxyPlot#IView#ActualController">
<inheritdoc/>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.ActualModel">
<summary>
Gets the actual model.
</summary>
<value>The actual model.</value>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.OxyPlot#IView#ActualModel">
<inheritdoc/>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.ClientArea">
<summary>
Gets the coordinates of the client area of the view.
</summary>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.TrackerDefinitions">
<summary>
Gets the tracker definitions.
</summary>
<value>The tracker definitions.</value>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.HideTracker">
<summary>
Hides the tracker.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.HideZoomRectangle">
<summary>
Hides the zoom rectangle.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.InvalidatePlot(System.Boolean)">
<summary>
Invalidate the PlotView (not blocking the UI thread)
</summary>
<param name="updateData">The update Data.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnApplyTemplate">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.PanAllAxes(System.Windows.Vector)">
<summary>
Pans all axes.
</summary>
<param name="delta">The delta.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.ResetAllAxes">
<summary>
Resets all axes.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.SetClipboardText(System.String)">
<summary>
Stores text on the clipboard.
</summary>
<param name="text">The text.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.SetCursorType(OxyPlot.CursorType)">
<summary>
Sets the cursor type.
</summary>
<param name="cursorType">The cursor type.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.ShowTracker(OxyPlot.TrackerHitResult)">
<summary>
Shows the tracker.
</summary>
<param name="trackerHitResult">The tracker data.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.ShowZoomRectangle(OxyPlot.OxyRect)">
<summary>
Shows the zoom rectangle.
</summary>
<param name="r">The rectangle.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.ZoomAllAxes(System.Double)">
<summary>
Zooms all axes.
</summary>
<param name="factor">The zoom factor.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.ClearBackground">
<summary>
Clears the background of the plot presenter.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.CreatePlotPresenter">
<summary>
Creates the plot presenter.
</summary>
<returns>The plot presenter.</returns>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.CreateRenderContext">
<summary>
Creates the render context.
</summary>
<returns>The render context.</returns>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnModelChanged">
<summary>
Called when the model is changed.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.Render">
<summary>
Renders the plot model to the plot presenter.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.RenderOverride">
<summary>
Renders the plot model to the plot presenter.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.UpdateDpi">
<summary>
Updates the DPI scale of the render context.
</summary>
<returns>The DPI scale.</returns>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.ModelChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Called when the model is changed.
</summary>
<param name="d">The sender.</param>
<param name="e">The <see cref="T:System.Windows.DependencyPropertyChangedEventArgs" /> instance containing the event data.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.BeginInvoke(System.Action)">
<summary>
Invokes the specified action on the dispatcher, if necessary.
</summary>
<param name="action">The action.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.IsInVisualTree">
<summary>
Gets a value indicating whether the <see cref="T:OxyPlot.Wpf.PlotViewBase"/> is connected to the visual tree.
</summary>
<returns><c>true</c> if the PlotViewBase is connected to the visual tree; <c>false</c> otherwise.</returns>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnLayoutUpdated(System.Object,System.EventArgs)">
<summary>
This event fires every time Layout updates the layout of the trees associated with current Dispatcher.
</summary>
<param name="sender">The sender.</param>
<param name="e">The event args.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnKeyDown(System.Windows.Input.KeyEventArgs)">
<summary>
Called before the <see cref="E:System.Windows.UIElement.KeyDown" /> event occurs.
</summary>
<param name="e">The data for the event.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnManipulationStarted(System.Windows.Input.ManipulationStartedEventArgs)">
<summary>
Called when the <see cref="E:System.Windows.UIElement.ManipulationStarted" /> event occurs.
</summary>
<param name="e">The data for the event.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnManipulationDelta(System.Windows.Input.ManipulationDeltaEventArgs)">
<summary>
Called when the <see cref="E:System.Windows.UIElement.ManipulationDelta" /> event occurs.
</summary>
<param name="e">The data for the event.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnManipulationCompleted(System.Windows.Input.ManipulationCompletedEventArgs)">
<summary>
Called when the <see cref="E:System.Windows.UIElement.ManipulationCompleted" /> event occurs.
</summary>
<param name="e">The data for the event.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnMouseWheel(System.Windows.Input.MouseWheelEventArgs)">
<summary>
Called before the <see cref="E:System.Windows.UIElement.MouseWheel" /> event occurs to provide handling for the event in a derived class without attaching a delegate.
</summary>
<param name="e">A <see cref="T:System.Windows.Input.MouseWheelEventArgs" /> that contains the event data.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnMouseDown(System.Windows.Input.MouseButtonEventArgs)">
<summary>
Invoked when an unhandled MouseDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.MouseButtonEventArgs" /> that contains the event data. This event data reports details about the mouse button that was pressed and the handled state.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnMouseMove(System.Windows.Input.MouseEventArgs)">
<summary>
Invoked when an unhandled MouseMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.MouseEventArgs" /> that contains the event data.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnMouseUp(System.Windows.Input.MouseButtonEventArgs)">
<summary>
Invoked when an unhandled MouseUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.MouseButtonEventArgs" /> that contains the event data. The event data reports that the mouse button was released.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnMouseEnter(System.Windows.Input.MouseEventArgs)">
<summary>
Invoked when an unhandled <see cref="E:System.Windows.Input.Mouse.MouseEnter" /> attached event is raised on this element. Implement this method to add class handling for this event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.MouseEventArgs" /> that contains the event data.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotViewBase.OnMouseLeave(System.Windows.Input.MouseEventArgs)">
<summary>
Invoked when an unhandled <see cref="E:System.Windows.Input.Mouse.MouseLeave" /> attached event is raised on this element. Implement this method to add class handling for this event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.MouseEventArgs" /> that contains the event data.</param>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.ControllerProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.PlotViewBase.Controller"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.DefaultTrackerTemplateProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.PlotViewBase.DefaultTrackerTemplate"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.IsMouseWheelEnabledProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.PlotViewBase.IsMouseWheelEnabled"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.ModelProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.PlotViewBase.Model"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.PanCursorProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.PlotViewBase.PanCursor"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.ZoomHorizontalCursorProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.PlotViewBase.ZoomHorizontalCursor"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.ZoomRectangleCursorProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.PlotViewBase.ZoomRectangleCursor"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.ZoomRectangleTemplateProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.PlotViewBase.ZoomRectangleTemplate"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotViewBase.ZoomVerticalCursorProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.PlotViewBase.ZoomVerticalCursor"/> dependency property.
</summary>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.Controller">
<summary>
Gets or sets the Plot controller.
</summary>
<value>The Plot controller.</value>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.DefaultTrackerTemplate">
<summary>
Gets or sets the default tracker template.
</summary>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.IsMouseWheelEnabled">
<summary>
Gets or sets a value indicating whether IsMouseWheelEnabled.
</summary>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.Model">
<summary>
Gets or sets the model.
</summary>
<value>The model.</value>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.PanCursor">
<summary>
Gets or sets the pan cursor.
</summary>
<value>The pan cursor.</value>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.ZoomHorizontalCursor">
<summary>
Gets or sets the horizontal zoom cursor.
</summary>
<value>The zoom horizontal cursor.</value>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.ZoomRectangleCursor">
<summary>
Gets or sets the rectangle zoom cursor.
</summary>
<value>The zoom rectangle cursor.</value>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.ZoomRectangleTemplate">
<summary>
Gets or sets the zoom rectangle template.
</summary>
<value>The zoom rectangle template.</value>
</member>
<member name="P:OxyPlot.Wpf.PlotViewBase.ZoomVerticalCursor">
<summary>
Gets or sets the vertical zoom cursor.
</summary>
<value>The zoom vertical cursor.</value>
</member>
<member name="T:OxyPlot.Wpf.TrackerControl">
<summary>
The tracker control.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.HorizontalLineVisibilityProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.HorizontalLineVisibility"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.VerticalLineVisibilityProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.VerticalLineVisibility"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.LineThicknessProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.LineThickness"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.LineStrokeProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.LineStroke"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.LineExtentsProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.LineExtents"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.LineDashArrayProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.LineDashArray"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.BorderEdgeModeProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.BorderEdgeMode"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.ShowPointerProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.ShowPointer"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.CornerRadiusProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.CornerRadius"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.DistanceProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.Distance"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.CanCenterHorizontallyProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.CanCenterHorizontally"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.CanCenterVerticallyProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.CanCenterVertically"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.PositionProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerControl.Position"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.PartPath">
<summary>
The path part string.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.PartContent">
<summary>
The content part string.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.PartContentcontainer">
<summary>
The content container part string.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.PartHorizontalline">
<summary>
The horizontal line part string.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.PartVerticalline">
<summary>
The vertical line part string.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.content">
<summary>
The content.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.horizontalLine">
<summary>
The horizontal line.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.path">
<summary>
The path.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.contentContainer">
<summary>
The content container.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerControl.verticalLine">
<summary>
The vertical line.
</summary>
</member>
<member name="M:OxyPlot.Wpf.TrackerControl.#cctor">
<summary>
Initializes static members of the <see cref = "T:OxyPlot.Wpf.TrackerControl" /> class.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.BorderEdgeMode">
<summary>
Gets or sets BorderEdgeMode.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.HorizontalLineVisibility">
<summary>
Gets or sets HorizontalLineVisibility.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.VerticalLineVisibility">
<summary>
Gets or sets VerticalLineVisibility.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.LineThickness">
<summary>
Gets or sets LineThickness.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.LineStroke">
<summary>
Gets or sets LineStroke.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.LineExtents">
<summary>
Gets or sets LineExtents.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.LineDashArray">
<summary>
Gets or sets LineDashArray.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.ShowPointer">
<summary>
Gets or sets a value indicating whether to show a 'pointer' on the border.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.CornerRadius">
<summary>
Gets or sets the corner radius (only used when ShowPoint=<c>false</c>).
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.Distance">
<summary>
Gets or sets the distance of the content container from the trackers Position.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.CanCenterHorizontally">
<summary>
Gets or sets a value indicating whether the tracker can center its content box horizontally.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.CanCenterVertically">
<summary>
Gets or sets a value indicating whether the tracker can center its content box vertically.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerControl.Position">
<summary>
Gets or sets Position of the tracker.
</summary>
</member>
<member name="M:OxyPlot.Wpf.TrackerControl.OnApplyTemplate">
<summary>
When overridden in a derived class, is invoked whenever application code or internal processes call <see cref="M:System.Windows.FrameworkElement.ApplyTemplate" />.
</summary>
</member>
<member name="M:OxyPlot.Wpf.TrackerControl.PositionChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Called when the position is changed.
</summary>
<param name="sender">The sender.</param>
<param name="e">The <see cref="T:System.Windows.DependencyPropertyChangedEventArgs" /> instance containing the event data.</param>
</member>
<member name="M:OxyPlot.Wpf.TrackerControl.OnPositionChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Called when the position is changed.
</summary>
<param name="dependencyPropertyChangedEventArgs">The dependency property changed event args.</param>
</member>
<member name="M:OxyPlot.Wpf.TrackerControl.UpdatePositionAndBorder">
<summary>
Update the position and border of the tracker.
</summary>
</member>
<member name="M:OxyPlot.Wpf.TrackerControl.CreateBorderGeometry(System.Windows.HorizontalAlignment,System.Windows.VerticalAlignment,System.Double,System.Double,System.Windows.Thickness@)">
<summary>
Create the border geometry.
</summary>
<param name="ha">The horizontal alignment.</param>
<param name="va">The vertical alignment.</param>
<param name="width">The width.</param>
<param name="height">The height.</param>
<param name="margin">The margin.</param>
<returns>The border geometry.</returns>
</member>
<member name="M:OxyPlot.Wpf.TrackerControl.CreatePointerBorderGeometry(System.Windows.HorizontalAlignment,System.Windows.VerticalAlignment,System.Double,System.Double,System.Windows.Thickness@)">
<summary>
Create a border geometry with a 'pointer'.
</summary>
<param name="ha">The horizontal alignment.</param>
<param name="va">The vertical alignment.</param>
<param name="width">The width.</param>
<param name="height">The height.</param>
<param name="margin">The margin.</param>
<returns>The border geometry.</returns>
</member>
<member name="T:OxyPlot.Wpf.TrackerDefinition">
<summary>
Represents a tracker definition.
</summary>
<remarks>The tracker definitions make it possible to show different trackers for different series.
The <see cref="P:OxyPlot.Series.Series.TrackerKey" /> property is matched with the <see cref="P:OxyPlot.Wpf.TrackerDefinition.TrackerKey" />
in the TrackerDefinitions collection in the <see cref="T:OxyPlot.Wpf.PlotViewBase" /> control.</remarks>
</member>
<member name="F:OxyPlot.Wpf.TrackerDefinition.TrackerKeyProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerDefinition.TrackerKey"/> dependency property.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TrackerDefinition.TrackerTemplateProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.TrackerDefinition.TrackerTemplate"/> dependency property.
</summary>
</member>
<member name="P:OxyPlot.Wpf.TrackerDefinition.TrackerKey">
<summary>
Gets or sets the tracker key.
</summary>
<remarks>The Plot will use this property to find the TrackerDefinition that matches the TrackerKey of the current series.</remarks>
</member>
<member name="P:OxyPlot.Wpf.TrackerDefinition.TrackerTemplate">
<summary>
Gets or sets the tracker template.
</summary>
<remarks>The tracker control will be added/removed from the Tracker overlay as necessary.
The DataContext of the tracker will be set to a TrackerHitResult with the current tracker data.</remarks>
</member>
<member name="T:OxyPlot.Wpf.ConverterExtensions">
<summary>
Extension method used to convert to/from Windows/Windows.Media classes.
</summary>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.DistanceTo(System.Windows.Point,System.Windows.Point)">
<summary>
Calculate the distance between two points.
</summary>
<param name="p1">The first point.</param>
<param name="p2">The second point.</param>
<returns>The distance.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToBrush(OxyPlot.OxyColor)">
<summary>
Converts an <see cref="T:OxyPlot.OxyColor" /> to a <see cref="T:System.Windows.Media.Brush" />.
</summary>
<param name="c">The color.</param>
<returns>A <see cref="T:System.Windows.Media.SolidColorBrush" />.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToColor(OxyPlot.OxyColor)">
<summary>
Converts an <see cref="T:OxyPlot.OxyColor" /> to a <see cref="T:System.Windows.Media.Color" />.
</summary>
<param name="c">The color.</param>
<returns>A Color.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToThickness(OxyPlot.OxyThickness)">
<summary>
Converts an OxyThickness to a Thickness.
</summary>
<param name="c">The thickness.</param>
<returns>A <see cref="T:System.Windows.Thickness" /> instance.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToVector(OxyPlot.ScreenVector)">
<summary>
Converts a ScreenVector to a Vector.
</summary>
<param name="c">The c.</param>
<returns>A <see cref="T:System.Windows.Vector" /> instance.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToHorizontalAlignment(System.Windows.HorizontalAlignment)">
<summary>
Converts a HorizontalAlignment to a HorizontalAlignment.
</summary>
<param name="alignment">The alignment.</param>
<returns>A HorizontalAlignment.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToVerticalAlignment(System.Windows.VerticalAlignment)">
<summary>
Converts a HorizontalAlignment to a VerticalAlignment.
</summary>
<param name="alignment">The alignment.</param>
<returns>A VerticalAlignment.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToOxyColor(System.Windows.Media.Color)">
<summary>
Converts a Color to an OxyColor.
</summary>
<param name="color">The color.</param>
<returns>An OxyColor.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToOxyColor(System.Windows.Media.Brush)">
<summary>
Converts a <see cref="T:System.Windows.Media.Brush" /> to an <see cref="T:OxyPlot.OxyColor" />.
</summary>
<param name="brush">The brush.</param>
<returns>An <see cref="T:OxyPlot.OxyColor" />.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToOxyThickness(System.Windows.Thickness)">
<summary>
Converts a Thickness to an <see cref="T:OxyPlot.OxyThickness" />.
</summary>
<param name="t">The thickness.</param>
<returns>An <see cref="T:OxyPlot.OxyThickness" />.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToScreenPoint(System.Windows.Point)">
<summary>
Converts a <see cref="T:System.Windows.Point" /> to a <see cref="T:OxyPlot.ScreenPoint" />.
</summary>
<param name="pt">The point.</param>
<returns>A <see cref="T:OxyPlot.ScreenPoint" />.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToScreenPointArray(System.Windows.Point[])">
<summary>
Converts a Point array to a ScreenPoint array.
</summary>
<param name="points">The points.</param>
<returns>A ScreenPoint array.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToScreenVector(System.Windows.Vector)">
<summary>
Converts the specified vector to a ScreenVector.
</summary>
<param name="vector">The vector.</param>
<returns>A <see cref="T:OxyPlot.ScreenVector" />.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.Convert(System.Windows.Input.Key)">
<summary>
Converts the specified key.
</summary>
<param name="k">The key to convert.</param>
<returns>The converted key.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.Convert(System.Windows.Input.MouseButton)">
<summary>
Converts the specified button.
</summary>
<param name="button">The button to convert.</param>
<returns>The converted mouse button.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToMouseWheelEventArgs(System.Windows.Input.MouseWheelEventArgs,System.Windows.IInputElement)">
<summary>
Converts <see cref="T:System.Windows.Input.MouseWheelEventArgs" /> to <see cref="T:OxyPlot.OxyMouseWheelEventArgs" /> for a mouse wheel event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.MouseWheelEventArgs" /> instance containing the event data.</param>
<param name="relativeTo">The <see cref="T:System.Windows.IInputElement" /> that the event is relative to.</param>
<returns>A <see cref="T:OxyPlot.OxyMouseWheelEventArgs" /> containing the converted event arguments.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToMouseDownEventArgs(System.Windows.Input.MouseButtonEventArgs,System.Windows.IInputElement)">
<summary>
Converts <see cref="T:System.Windows.Input.MouseButtonEventArgs" /> to <see cref="T:OxyPlot.OxyMouseEventArgs" /> for a mouse down event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.MouseButtonEventArgs" /> instance containing the event data.</param>
<param name="relativeTo">The <see cref="T:System.Windows.IInputElement" /> that the event is relative to.</param>
<returns>A <see cref="T:OxyPlot.OxyMouseEventArgs" /> containing the converted event arguments.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToMouseReleasedEventArgs(System.Windows.Input.MouseButtonEventArgs,System.Windows.IInputElement)">
<summary>
Converts <see cref="T:System.Windows.Input.MouseButtonEventArgs" /> to <see cref="T:OxyPlot.OxyMouseEventArgs" /> for a mouse up event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.MouseButtonEventArgs" /> instance containing the event data.</param>
<param name="relativeTo">The <see cref="T:System.Windows.IInputElement" /> that the event is relative to.</param>
<returns>A <see cref="T:OxyPlot.OxyMouseEventArgs" /> containing the converted event arguments.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToMouseEventArgs(System.Windows.Input.MouseEventArgs,System.Windows.IInputElement)">
<summary>
Converts <see cref="T:System.Windows.Input.MouseEventArgs" /> to <see cref="T:OxyPlot.OxyMouseEventArgs" /> for a mouse event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.MouseEventArgs" /> instance containing the event data.</param>
<param name="relativeTo">The <see cref="T:System.Windows.IInputElement" /> that the event is relative to.</param>
<returns>A <see cref="T:OxyPlot.OxyMouseEventArgs" /> containing the converted event arguments.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToTouchEventArgs(System.Windows.Input.ManipulationStartedEventArgs,System.Windows.UIElement)">
<summary>
Converts <see cref="T:System.Windows.Input.ManipulationStartedEventArgs" /> to <see cref="T:OxyPlot.OxyMouseEventArgs" /> for a touch started event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.ManipulationStartedEventArgs" /> instance containing the event data.</param>
<param name="relativeTo">The <see cref="T:System.Windows.UIElement" /> that the event is relative to.</param>
<returns>A <see cref="T:OxyPlot.OxyMouseEventArgs" /> containing the converted event arguments.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToTouchEventArgs(System.Windows.Input.ManipulationDeltaEventArgs,System.Windows.UIElement)">
<summary>
Converts <see cref="T:System.Windows.Input.ManipulationDeltaEventArgs" /> to <see cref="T:OxyPlot.OxyMouseEventArgs" /> for a touch delta event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.ManipulationDeltaEventArgs" /> instance containing the event data.</param>
<param name="relativeTo">The <see cref="T:System.Windows.UIElement" /> that the event is relative to.</param>
<returns>A <see cref="T:OxyPlot.OxyMouseEventArgs" /> containing the converted event arguments.</returns>
</member>
<member name="M:OxyPlot.Wpf.ConverterExtensions.ToTouchEventArgs(System.Windows.Input.ManipulationCompletedEventArgs,System.Windows.UIElement)">
<summary>
Converts <see cref="T:System.Windows.Input.ManipulationCompletedEventArgs" /> to <see cref="T:OxyPlot.OxyMouseEventArgs" /> for a touch completed event.
</summary>
<param name="e">The <see cref="T:System.Windows.Input.ManipulationCompletedEventArgs" /> instance containing the event data.</param>
<param name="relativeTo">The <see cref="T:System.Windows.UIElement" /> that the event is relative to.</param>
<returns>A <see cref="T:OxyPlot.OxyMouseEventArgs" /> containing the converted event arguments.</returns>
</member>
<member name="T:OxyPlot.Wpf.Keyboard">
<summary>
Provides utility methods related to the keyboard.
</summary>
</member>
<member name="M:OxyPlot.Wpf.Keyboard.GetModifierKeys">
<summary>
Gets the current modifier keys.
</summary>
<returns>A <see cref="T:OxyPlot.OxyModifierKeys" /> value.</returns>
</member>
</members>
</doc>

@ -0,0 +1,637 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>OxyPlot.Wpf</name>
</assembly>
<members>
<member name="T:OxyPlot.Wpf.CanvasRenderContext">
<summary>
Implements <see cref="T:OxyPlot.IRenderContext" /> for <see cref="T:System.Windows.Controls.Canvas" />.
</summary>
</member>
<member name="F:OxyPlot.Wpf.CanvasRenderContext.imagesInUse">
<summary>
The images in use
</summary>
</member>
<member name="F:OxyPlot.Wpf.CanvasRenderContext.imageCache">
<summary>
The image cache
</summary>
</member>
<member name="F:OxyPlot.Wpf.CanvasRenderContext.brushCache">
<summary>
The brush cache.
</summary>
</member>
<member name="F:OxyPlot.Wpf.CanvasRenderContext.fontFamilyCache">
<summary>
The font family cache
</summary>
</member>
<member name="F:OxyPlot.Wpf.CanvasRenderContext.canvas">
<summary>
The canvas.
</summary>
</member>
<member name="F:OxyPlot.Wpf.CanvasRenderContext.clip">
<summary>
The clip rectangle.
</summary>
</member>
<member name="F:OxyPlot.Wpf.CanvasRenderContext.currentToolTip">
<summary>
The current tool tip
</summary>
</member>
<member name="P:OxyPlot.Wpf.CanvasRenderContext.DpiScale">
<summary>
The dpi scale.
</summary>
</member>
<member name="P:OxyPlot.Wpf.CanvasRenderContext.VisualOffset">
<summary>
The visual offset relative to visual root.
</summary>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.#ctor(System.Windows.Controls.Canvas)">
<summary>
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.CanvasRenderContext" /> class.
</summary>
<param name="canvas">The canvas.</param>
</member>
<member name="P:OxyPlot.Wpf.CanvasRenderContext.TextMeasurementMethod">
<summary>
Gets or sets the text measurement method.
</summary>
<value>The text measurement method.</value>
</member>
<member name="P:OxyPlot.Wpf.CanvasRenderContext.TextFormattingMode">
<summary>
Gets or sets the text formatting mode.
</summary>
<value>The text formatting mode. The default value is <see cref="F:System.Windows.Media.TextFormattingMode.Display"/>.</value>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawEllipse(OxyPlot.OxyRect,OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawEllipses(System.Collections.Generic.IList{OxyPlot.OxyRect},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawLine(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawLineSegments(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawPolygon(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawPolygons(System.Collections.Generic.IList{System.Collections.Generic.IList{OxyPlot.ScreenPoint}},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawRectangle(OxyPlot.OxyRect,OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawRectangles(System.Collections.Generic.IList{OxyPlot.OxyRect},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawText(OxyPlot.ScreenPoint,System.String,OxyPlot.OxyColor,System.String,System.Double,System.Double,System.Double,OxyPlot.HorizontalAlignment,OxyPlot.VerticalAlignment,System.Nullable{OxyPlot.OxySize})">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.MeasureText(System.String,System.String,System.Double,System.Double)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.SetToolTip(System.String)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.DrawImage(OxyPlot.OxyImage,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Boolean)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.SetClip(OxyPlot.OxyRect)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.ResetClip">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.CleanUp">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.MeasureTextByGlyphTypeface(System.String,System.String,System.Double,System.Double)">
<summary>
Measures the size of the specified text by a faster method (using GlyphTypefaces).
</summary>
<param name="text">The text.</param>
<param name="fontFamily">The font family.</param>
<param name="fontSize">The font size.</param>
<param name="fontWeight">The font weight.</param>
<returns>The size of the text.</returns>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetFontWeight(System.Double)">
<summary>
Gets the font weight.
</summary>
<param name="fontWeight">The font weight value.</param>
<returns>The font weight.</returns>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.MeasureTextSize(System.Windows.Media.GlyphTypeface,System.Double,System.String)">
<summary>
Fast text size calculation
</summary>
<param name="glyphTypeface">The glyph typeface.</param>
<param name="sizeInEm">The size.</param>
<param name="s">The text.</param>
<returns>The text size.</returns>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.CreateAndAdd``1(System.Double,System.Double)">
<summary>
Creates an element of the specified type and adds it to the canvas.
</summary>
<typeparam name="T">Type of element to create.</typeparam>
<param name="clipOffsetX">The clip offset executable.</param>
<param name="clipOffsetY">The clip offset asynchronous.</param>
<returns>The element.</returns>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.ApplyToolTip(System.Windows.FrameworkElement)">
<summary>
Applies the current tool tip to the specified element.
</summary>
<param name="element">The element.</param>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetCachedBrush(OxyPlot.OxyColor)">
<summary>
Gets the cached brush.
</summary>
<param name="color">The color.</param>
<returns>The brush.</returns>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetCachedFontFamily(System.String)">
<summary>
Gets the cached font family.
</summary>
<param name="familyName">Name of the family.</param>
<returns>The FontFamily.</returns>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.SetStroke(System.Windows.Shapes.Shape,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,OxyPlot.LineJoin,System.Collections.Generic.IEnumerable{System.Double},System.Double)">
<summary>
Sets the stroke properties of the specified shape object.
</summary>
<param name="shape">The shape.</param>
<param name="stroke">The stroke color.</param>
<param name="thickness">The thickness.</param>
<param name="edgeRenderingMode">The edge rendering mode.</param>
<param name="lineJoin">The line join.</param>
<param name="dashArray">The dash array. Use <c>null</c> to get a solid line.</param>
<param name="dashOffset">The dash offset.</param>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetImageSource(OxyPlot.OxyImage)">
<summary>
Gets the bitmap source.
</summary>
<param name="image">The image.</param>
<returns>The bitmap source.</returns>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.ToRect(OxyPlot.OxyRect)">
<summary>
Converts an <see cref="T:OxyPlot.OxyRect" /> to a <see cref="T:System.Windows.Rect" />.
</summary>
<param name="r">The rectangle.</param>
<returns>A <see cref="T:System.Windows.Rect" />.</returns>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetActualPoints(System.Collections.Generic.IList{OxyPlot.ScreenPoint},System.Double,OxyPlot.EdgeRenderingMode)">
<summary>
Snaps points to pixels if required by the edge rendering mode.
</summary>
<param name="points">The points.</param>
<param name="strokeThickness">The stroke thickness.</param>
<param name="edgeRenderingMode">The edge rendering mode.</param>
<returns>The processed points.</returns>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetActualRect(OxyPlot.OxyRect,System.Double,OxyPlot.EdgeRenderingMode)">
<summary>
Snaps a rectangle to device pixels if required by the edge rendering mode.
</summary>
<param name="rect">The rectangle.</param>
<param name="strokeThickness">The stroke thickness.</param>
<param name="edgeRenderingMode">The edge rendering mode.</param>
<returns>The processed rectangle.</returns>
</member>
<member name="M:OxyPlot.Wpf.CanvasRenderContext.GetActualStrokeThickness(System.Double,OxyPlot.EdgeRenderingMode)">
<summary>
Snaps a stroke thickness to device pixels if required by the edge rendering mode.
</summary>
<param name="strokeThickness">The stroke thickness.</param>
<param name="edgeRenderingMode">The edge rendering mode.</param>
<returns>The processed stroke thickness.</returns>
</member>
<member name="T:OxyPlot.Wpf.PlotView">
<summary>
Represents a control that displays a <see cref="T:OxyPlot.PlotModel" />. This <see cref="T:OxyPlot.IPlotView"/> is based on <see cref="T:OxyPlot.Wpf.CanvasRenderContext"/>.
</summary>
<summary>
Represents a control that displays a <see cref="T:OxyPlot.PlotModel" />.
</summary>
</member>
<member name="F:OxyPlot.Wpf.PlotView.TextMeasurementMethodProperty">
<summary>
Identifies the <see cref="P:OxyPlot.Wpf.PlotView.TextMeasurementMethod"/> dependency property.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotView.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.PlotView" /> class.
</summary>
</member>
<member name="P:OxyPlot.Wpf.PlotView.DisconnectCanvasWhileUpdating">
<summary>
Gets or sets a value indicating whether to disconnect the canvas while updating.
</summary>
<value><c>true</c> if canvas should be disconnected while updating; otherwise, <c>false</c>.</value>
</member>
<member name="P:OxyPlot.Wpf.PlotView.TextMeasurementMethod">
<summary>
Gets or sets the vertical zoom cursor.
</summary>
<value>The zoom vertical cursor.</value>
</member>
<member name="P:OxyPlot.Wpf.PlotView.Canvas">
<summary>
Gets the Canvas.
</summary>
</member>
<member name="P:OxyPlot.Wpf.PlotView.RenderContext">
<summary>
Gets the CanvasRenderContext.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PlotView.ClearBackground">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.PlotView.CreatePlotPresenter">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.PlotView.CreateRenderContext">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.PlotView.OnRender(System.Windows.Media.DrawingContext)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.PlotView.RenderOverride">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.PlotView.UpdateDpi">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.PlotView.DoCopy(System.Object,System.Windows.Input.ExecutedRoutedEventArgs)">
<summary>
Performs the copy operation.
</summary>
<param name="sender">The sender.</param>
<param name="e">The <see cref="T:System.Windows.Input.ExecutedRoutedEventArgs" /> instance containing the event data.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotView.GetAncestorVisualFromVisualTree(System.Windows.DependencyObject)">
<summary>
Returns a reference to the visual object that hosts the dependency object in the visual tree.
</summary>
<returns> The host window from the visual tree.</returns>
</member>
<member name="M:OxyPlot.Wpf.PlotView.SaveBitmap(System.String)">
<summary>
Saves the PlotView as a bitmap.
</summary>
<param name="fileName">Name of the file.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotView.SaveBitmap(System.String,System.Int32,System.Int32)">
<summary>
Saves the PlotView as a bitmap.
</summary>
<param name="fileName">Name of the file.</param>
<param name="width">The width.</param>
<param name="height">The height.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotView.SaveXaml(System.String)">
<summary>
Saves the PlotView as xaml.
</summary>
<param name="fileName">Name of the file.</param>
</member>
<member name="M:OxyPlot.Wpf.PlotView.ToXaml">
<summary>
Renders the PlotView to xaml.
</summary>
<returns>The xaml.</returns>
</member>
<member name="M:OxyPlot.Wpf.PlotView.ToBitmap">
<summary>
Renders the PlotView to a bitmap.
</summary>
<returns>A bitmap.</returns>
</member>
<member name="T:OxyPlot.Wpf.PngExporter">
<summary>
Provides functionality to export plots to png.
</summary>
</member>
<member name="M:OxyPlot.Wpf.PngExporter.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.PngExporter" /> class.
</summary>
</member>
<member name="P:OxyPlot.Wpf.PngExporter.Width">
<summary>
Gets or sets the width of the output image.
</summary>
</member>
<member name="P:OxyPlot.Wpf.PngExporter.Height">
<summary>
Gets or sets the height of the output image.
</summary>
</member>
<member name="P:OxyPlot.Wpf.PngExporter.Resolution">
<summary>
Gets or sets the resolution of the output image.
</summary>
<value>The resolution in dots per inch (dpi).</value>
</member>
<member name="M:OxyPlot.Wpf.PngExporter.Export(OxyPlot.IPlotModel,System.String,System.Int32,System.Int32,System.Double)">
<summary>
Exports the specified plot model to a file.
</summary>
<param name="model">The model to export.</param>
<param name="fileName">The file name.</param>
<param name="width">The width of the output bitmap.</param>
<param name="height">The height of the output bitmap.</param>
<param name="resolution">The resolution (resolution). The default value is 96.</param>
</member>
<member name="M:OxyPlot.Wpf.PngExporter.Export(OxyPlot.IPlotModel,System.IO.Stream)">
<summary>
Exports the specified <see cref="T:OxyPlot.PlotModel" /> to the specified <see cref="T:System.IO.Stream" />.
</summary>
<param name="model">The model.</param>
<param name="stream">The output stream.</param>
</member>
<member name="M:OxyPlot.Wpf.PngExporter.ExportToBitmap(OxyPlot.IPlotModel)">
<summary>
Exports the specified plot model to a bitmap.
</summary>
<param name="model">The model to export.</param>
<returns>A bitmap.</returns>
</member>
<member name="T:OxyPlot.Wpf.SvgExporter">
<summary>
Provides functionality to export plots to scalable vector graphics using text measuring in WPF.
</summary>
</member>
<member name="M:OxyPlot.Wpf.SvgExporter.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.SvgExporter" /> class.
</summary>
</member>
<member name="T:OxyPlot.Wpf.TextMeasurementMethod">
<summary>
The text measurement methods.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TextMeasurementMethod.TextBlock">
<summary>
Measurement by TextBlock. This gives a more accurate result than <see cref="F:OxyPlot.Wpf.TextMeasurementMethod.GlyphTypeface"/> as it takes into account text shaping.
</summary>
</member>
<member name="F:OxyPlot.Wpf.TextMeasurementMethod.GlyphTypeface">
<summary>
Measurement by glyph typeface. This is faster than <see cref="F:OxyPlot.Wpf.TextMeasurementMethod.TextBlock"/>, but does not take into account text shaping.
</summary>
</member>
<member name="T:OxyPlot.Wpf.PixelLayout">
<summary>
Provides functionality to support non-default dpi scaling
</summary>
</member>
<member name="M:OxyPlot.Wpf.PixelLayout.Snap(System.Double,System.Double,System.Double,System.Windows.Point,System.Double)">
<summary>
Snaps a screen point to a pixel grid.
</summary>
<remarks>
Depending on the stroke thickness, the point is snapped either to the middle or the border of a pixel.
</remarks>
<param name="x">The x coordinate of the point.</param>
<param name="y">The y coordinate of the point.</param>
<param name="strokeThickness">The stroke thickness.</param>
<param name="visualOffset">A point structure which represents X and Y visual offsets relative to visual root</param>
<param name="dpiScale">The DPI scale.</param>
<returns>Snapped point</returns>
</member>
<member name="M:OxyPlot.Wpf.PixelLayout.Snap(System.Windows.Rect,System.Double,System.Windows.Point,System.Double)">
<summary>
Snaps a rectangle structure to a pixel grid.
</summary>
<remarks>
Depending on the stroke thickness, the rectangle bounds are snapped either to the middle or the border of pixels.
</remarks>
<param name="rect">Rectangle structure</param>
<param name="strokeThickness">The stroke thickness.</param>
<param name="visualOffset">A point structure which represents X and Y visual offsets relative to visual root</param>
<param name="dpiScale">The DPI scale.</param>
<returns>Snapped rectangle structure</returns>
</member>
<member name="M:OxyPlot.Wpf.PixelLayout.SnapStrokeThickness(System.Double,System.Double)">
<summary>
Snaps a stroke thickness to an integer multiple of device pixels.
</summary>
<param name="strokeThickness">The stroke thickness.</param>
<param name="dpiScale">The DPI scale.</param>
<returns>The snapped stroke thickness.</returns>
</member>
<member name="M:OxyPlot.Wpf.PixelLayout.Snap(System.Double,System.Double,System.Double)">
<summary>
Snaps a screen coordinate to a pixel grid
</summary>
<param name="value">Screen coordinate</param>
<param name="offset">Pixel grid offset</param>
<param name="scale">Pixel grid scale</param>
<returns>Snapped coordinate</returns>
</member>
<member name="M:OxyPlot.Wpf.PixelLayout.GetPixelOffset(System.Double,System.Double)">
<summary>
Gets the pixel offset for the given scale and stroke thickness.
</summary>
<remarks>
This takes into account that lines with even width should be rendered on the border between two pixels, while lines with odd width should be rendered
in the middle of a pixel.
</remarks>
<param name="strokeThickness">The stroke thickness.</param>
<param name="scale">Pixel grid scale</param>
<returns>The pixel offset.</returns>
</member>
<member name="T:OxyPlot.Wpf.XamlExporter">
<summary>
Provides functionality to export plots to XAML.
</summary>
</member>
<member name="M:OxyPlot.Wpf.XamlExporter.ExportToString(OxyPlot.IPlotModel,System.Double,System.Double)">
<summary>
Export the specified plot model to an xaml string.
</summary>
<param name="model">The model.</param>
<param name="width">The width.</param>
<param name="height">The height.</param>
<returns>A xaml string.</returns>
</member>
<member name="M:OxyPlot.Wpf.XamlExporter.Export(OxyPlot.PlotModel,System.String,System.Double,System.Double)">
<summary>
Exports the specified plot model to a xaml file.
</summary>
<param name="model">The model.</param>
<param name="fileName">Name of the file.</param>
<param name="width">The width.</param>
<param name="height">The height.</param>
</member>
<member name="M:OxyPlot.Wpf.XamlExporter.Export(OxyPlot.IPlotModel,System.Xml.XmlWriter,System.Double,System.Double)">
<summary>
Exports the specified plot model to a xml writer.
</summary>
<param name="model">The model.</param>
<param name="writer">The xml writer.</param>
<param name="width">The width.</param>
<param name="height">The height.</param>
</member>
<member name="T:OxyPlot.Wpf.XamlRenderContext">
<summary>
Implements <see cref="T:OxyPlot.IRenderContext" /> for <see cref="T:System.Windows.Controls.Canvas" />. This does not use <see cref="T:System.Windows.Media.StreamGeometry"/> and therefore the output can be serialized to XAML.
</summary>
</member>
<member name="F:OxyPlot.Wpf.XamlRenderContext.MaxFiguresPerGeometry">
<summary>
The maximum number of figures per geometry.
</summary>
</member>
<member name="F:OxyPlot.Wpf.XamlRenderContext.MaxPolylinesPerLine">
<summary>
The maximum number of polylines per line.
</summary>
</member>
<member name="F:OxyPlot.Wpf.XamlRenderContext.MinPointsPerPolyline">
<summary>
The minimum number of points per polyline.
</summary>
</member>
<member name="M:OxyPlot.Wpf.XamlRenderContext.#ctor(System.Windows.Controls.Canvas)">
<summary>
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.CanvasRenderContext" /> class.
</summary>
<param name="canvas">The canvas.</param>
</member>
<member name="P:OxyPlot.Wpf.XamlRenderContext.BalancedLineDrawingThicknessLimit">
<summary>
Gets or sets the thickness limit for "balanced" line drawing.
</summary>
</member>
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawEllipses(System.Collections.Generic.IList{OxyPlot.OxyRect},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawLine(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawLineSegments(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawPolygons(System.Collections.Generic.IList{System.Collections.Generic.IList{OxyPlot.ScreenPoint}},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawRectangles(System.Collections.Generic.IList{OxyPlot.OxyRect},OxyPlot.OxyColor,OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode)">
<inheritdoc/>
</member>
<member name="M:OxyPlot.Wpf.XamlRenderContext.DrawLineBalanced(System.Collections.Generic.IList{OxyPlot.ScreenPoint},OxyPlot.OxyColor,System.Double,OxyPlot.EdgeRenderingMode,System.Double[],OxyPlot.LineJoin)">
<summary>
Draws the line using the MaxPolylinesPerLine and MinPointsPerPolyline properties.
</summary>
<param name="points">The points.</param>
<param name="stroke">The stroke color.</param>
<param name="thickness">The thickness.</param>
<param name="edgeRenderingMode">The edge rendering mode.</param>
<param name="dashArray">The dash array. Use <c>null</c> to get a solid line.</param>
<param name="lineJoin">The line join.</param>
</member>
<member name="M:OxyPlot.Wpf.XamlRenderContext.ToPointCollection(System.Collections.Generic.IList{OxyPlot.ScreenPoint},System.Double,OxyPlot.EdgeRenderingMode)">
<summary>
Creates a point collection from the specified points. The points are snapped to pixels if required by the edge rendering mode,
</summary>
<param name="points">The points to convert.</param>
<param name="strokeThickness">The stroke thickness.</param>
<param name="edgeRenderingMode">The edge rendering mode.</param>
<returns>The point collection.</returns>
</member>
<member name="T:OxyPlot.Wpf.XpsExporter">
<summary>
Provides functionality to export plots to xps.
</summary>
</member>
<member name="M:OxyPlot.Wpf.XpsExporter.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OxyPlot.Wpf.XpsExporter" /> class.
</summary>
</member>
<member name="P:OxyPlot.Wpf.XpsExporter.Width">
<summary>
Gets or sets the width of the output document.
</summary>
</member>
<member name="P:OxyPlot.Wpf.XpsExporter.Height">
<summary>
Gets or sets the height of the output document.
</summary>
</member>
<member name="P:OxyPlot.Wpf.XpsExporter.TextFormattingMode">
<summary>
Gets or sets the text formatting mode.
</summary>
<value>The text formatting mode.</value>
</member>
<member name="M:OxyPlot.Wpf.XpsExporter.Export(OxyPlot.IPlotModel,System.String,System.Double,System.Double)">
<summary>
Exports the specified plot model to an xps file.
</summary>
<param name="model">The model.</param>
<param name="fileName">The file name.</param>
<param name="width">The width.</param>
<param name="height">The height.</param>
</member>
<member name="M:OxyPlot.Wpf.XpsExporter.Export(OxyPlot.IPlotModel,System.IO.Stream,System.Double,System.Double)">
<summary>
Exports the specified <see cref="T:OxyPlot.PlotModel" /> to the specified <see cref="T:System.IO.Stream" />.
</summary>
<param name="model">The model.</param>
<param name="stream">The stream.</param>
<param name="width">The width.</param>
<param name="height">The height.</param>
</member>
<member name="M:OxyPlot.Wpf.XpsExporter.Print(OxyPlot.IPlotModel,System.Double,System.Double)">
<summary>
Prints the specified plot model.
</summary>
<param name="model">The model.</param>
<param name="width">The width (using the actual media width if set to NaN).</param>
<param name="height">The height (using the actual media height if set to NaN).</param>
</member>
<member name="M:OxyPlot.Wpf.XpsExporter.Export(OxyPlot.IPlotModel,System.IO.Stream)">
<summary>
Exports the specified <see cref="T:OxyPlot.PlotModel" /> to the specified <see cref="T:System.IO.Stream" />.
</summary>
<param name="model">The model.</param>
<param name="stream">The stream.</param>
</member>
<member name="M:OxyPlot.Wpf.XpsExporter.Print(OxyPlot.IPlotModel)">
<summary>
Prints the specified plot model.
</summary>
<param name="model">The model.</param>
</member>
<member name="M:OxyPlot.Wpf.XpsExporter.Write(OxyPlot.IPlotModel,System.Windows.Xps.XpsDocumentWriter)">
<summary>
Write the specified <see cref="T:OxyPlot.IPlotModel" /> to the specified <see cref="T:System.Windows.Xps.XpsDocumentWriter" />.
</summary>
<param name="model">The model.</param>
<param name="writer">The document writer.</param>
</member>
</members>
</doc>

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -0,0 +1,324 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Prism.Unity.Wpf</name>
</assembly>
<members>
<member name="T:Prism.Unity.PrismApplication">
<summary>
Base application class that uses <see cref="T:Prism.Unity.UnityContainerExtension"/> as it's container.
</summary>
</member>
<member name="M:Prism.Unity.PrismApplication.CreateContainerExtension">
<summary>
Create a new <see cref="T:Prism.Unity.UnityContainerExtension"/> used by Prism.
</summary>
<returns>A new <see cref="T:Prism.Unity.UnityContainerExtension"/>.</returns>
</member>
<member name="M:Prism.Unity.PrismApplication.RegisterFrameworkExceptionTypes">
<summary>
Registers the <see cref="T:System.Type"/>s of the Exceptions that are not considered
root exceptions by the <see cref="T:System.ExceptionExtensions"/>.
</summary>
</member>
<member name="T:Prism.Unity.PrismBootstrapper">
<summary>
Base bootstrapper class that uses <see cref="T:Prism.Unity.UnityContainerExtension"/> as it's container.
</summary>
</member>
<member name="M:Prism.Unity.PrismBootstrapper.CreateContainerExtension">
<summary>
Create a new <see cref="T:Prism.Unity.UnityContainerExtension"/> used by Prism.
</summary>
<returns>A new <see cref="T:Prism.Unity.UnityContainerExtension"/>.</returns>
</member>
<member name="M:Prism.Unity.PrismBootstrapper.RegisterFrameworkExceptionTypes">
<summary>
Registers the <see cref="T:System.Type"/>s of the Exceptions that are not considered
root exceptions by the <see cref="T:System.ExceptionExtensions"/>.
</summary>
</member>
<member name="T:Prism.Unity.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Prism.Unity.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Prism.Unity.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:Prism.Unity.Properties.Resources.NotOverwrittenGetModuleEnumeratorException">
<summary>
Looks up a localized string similar to The method &apos;GetModuleEnumerator&apos; of the bootstrapper must be overwritten in order to use the default module initialization logic..
</summary>
</member>
<member name="P:Prism.Unity.Properties.Resources.NullLoggerFacadeException">
<summary>
Looks up a localized string similar to The ILoggerFacade is required and cannot be null..
</summary>
</member>
<member name="P:Prism.Unity.Properties.Resources.NullModuleCatalogException">
<summary>
Looks up a localized string similar to The IModuleCatalog is required and cannot be null in order to initialize the modules..
</summary>
</member>
<member name="P:Prism.Unity.Properties.Resources.NullUnityContainerException">
<summary>
Looks up a localized string similar to The IUnityContainer is required and cannot be null..
</summary>
</member>
<member name="P:Prism.Unity.Properties.Resources.SettingTheRegionManager">
<summary>
Looks up a localized string similar to Setting the RegionManager..
</summary>
</member>
<member name="P:Prism.Unity.Properties.Resources.TypeMappingAlreadyRegistered">
<summary>
Looks up a localized string similar to Type &apos;{0}&apos; was already registered by the application. Skipping....
</summary>
</member>
<member name="T:Prism.Unity.PrismIocExtensions">
<summary>
Extensions help get the underlying <see cref="T:Unity.IUnityContainer" />
</summary>
</member>
<member name="M:Prism.Unity.PrismIocExtensions.GetContainer(Prism.Ioc.IContainerProvider)">
<summary>
Gets the <see cref="T:Unity.IUnityContainer" /> from the <see cref="T:Prism.Ioc.IContainerProvider" />
</summary>
<param name="containerProvider">The current <see cref="T:Prism.Ioc.IContainerProvider" /></param>
<returns>The underlying <see cref="T:Unity.IUnityContainer" /></returns>
</member>
<member name="M:Prism.Unity.PrismIocExtensions.GetContainer(Prism.Ioc.IContainerRegistry)">
<summary>
Gets the <see cref="T:Unity.IUnityContainer" /> from the <see cref="T:Prism.Ioc.IContainerProvider" />
</summary>
<param name="containerRegistry">The current <see cref="T:Prism.Ioc.IContainerRegistry" /></param>
<returns>The underlying <see cref="T:Unity.IUnityContainer" /></returns>
</member>
<member name="T:Prism.Unity.UnityContainerExtension">
<summary>
The Unity implementation of the <see cref="T:Prism.Ioc.IContainerExtension" />
</summary>
</member>
<member name="P:Prism.Unity.UnityContainerExtension.Instance">
<summary>
The instance of the wrapped container
</summary>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.#ctor">
<summary>
Constructs a default <see cref="T:Prism.Unity.UnityContainerExtension" />
</summary>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.#ctor(Unity.IUnityContainer)">
<summary>
Constructs a <see cref="T:Prism.Unity.UnityContainerExtension" /> with the specified <see cref="T:Unity.IUnityContainer" />
</summary>
<param name="container"></param>
</member>
<member name="P:Prism.Unity.UnityContainerExtension.CurrentScope">
<summary>
Gets the current <see cref="T:Prism.Ioc.IScopedProvider"/>
</summary>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.FinalizeExtension">
<summary>
Used to perform any final steps for configuring the extension that may be required by the container.
</summary>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterInstance(System.Type,System.Object)">
<summary>
Registers an instance of a given <see cref="T:System.Type"/>
</summary>
<param name="type">The service <see cref="T:System.Type"/> that is being registered</param>
<param name="instance">The instance of the service or <see cref="T:System.Type" /></param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterInstance(System.Type,System.Object,System.String)">
<summary>
Registers an instance of a given <see cref="T:System.Type"/> with the specified name or key
</summary>
<param name="type">The service <see cref="T:System.Type"/> that is being registered</param>
<param name="instance">The instance of the service or <see cref="T:System.Type" /></param>
<param name="name">The name or key to register the service</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterSingleton(System.Type,System.Type)">
<summary>
Registers a Singleton with the given service and mapping to the specified implementation <see cref="T:System.Type" />.
</summary>
<param name="from">The service <see cref="T:System.Type" /></param>
<param name="to">The implementation <see cref="T:System.Type" /></param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterSingleton(System.Type,System.Type,System.String)">
<summary>
Registers a Singleton with the given service and mapping to the specified implementation <see cref="T:System.Type" />.
</summary>
<param name="from">The service <see cref="T:System.Type" /></param>
<param name="to">The implementation <see cref="T:System.Type" /></param>
<param name="name">The name or key to register the service</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterSingleton(System.Type,System.Func{System.Object})">
<summary>
Registers a Singleton with the given service <see cref="T:System.Type" /> factory delegate method.
</summary>
<param name="type">The service <see cref="T:System.Type" /></param>
<param name="factoryMethod">The delegate method.</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterSingleton(System.Type,System.Func{Prism.Ioc.IContainerProvider,System.Object})">
<summary>
Registers a Singleton with the given service <see cref="T:System.Type" /> factory delegate method.
</summary>
<param name="type">The service <see cref="T:System.Type" /></param>
<param name="factoryMethod">The delegate method using <see cref="T:Prism.Ioc.IContainerProvider"/>.</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterManySingleton(System.Type,System.Type[])">
<summary>
Registers a Singleton Service which implements service interfaces
</summary>
<param name="type">The implementation <see cref="T:System.Type" />.</param>
<param name="serviceTypes">The service <see cref="T:System.Type"/>'s.</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
<remarks>Registers all interfaces if none are specified.</remarks>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.Register(System.Type,System.Type)">
<summary>
Registers a Transient with the given service and mapping to the specified implementation <see cref="T:System.Type" />.
</summary>
<param name="from">The service <see cref="T:System.Type" /></param>
<param name="to">The implementation <see cref="T:System.Type" /></param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.Register(System.Type,System.Type,System.String)">
<summary>
Registers a Transient with the given service and mapping to the specified implementation <see cref="T:System.Type" />.
</summary>
<param name="from">The service <see cref="T:System.Type" /></param>
<param name="to">The implementation <see cref="T:System.Type" /></param>
<param name="name">The name or key to register the service</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.Register(System.Type,System.Func{System.Object})">
<summary>
Registers a Transient Service using a delegate method
</summary>
<param name="type">The service <see cref="T:System.Type" /></param>
<param name="factoryMethod">The delegate method.</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.Register(System.Type,System.Func{Prism.Ioc.IContainerProvider,System.Object})">
<summary>
Registers a Transient Service using a delegate method
</summary>
<param name="type">The service <see cref="T:System.Type" /></param>
<param name="factoryMethod">The delegate method using <see cref="T:Prism.Ioc.IContainerProvider"/>.</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterMany(System.Type,System.Type[])">
<summary>
Registers a Transient Service which implements service interfaces
</summary>
<param name="type">The implementing <see cref="T:System.Type" />.</param>
<param name="serviceTypes">The service <see cref="T:System.Type"/>'s.</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
<remarks>Registers all interfaces if none are specified.</remarks>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterScoped(System.Type,System.Type)">
<summary>
Registers a scoped service
</summary>
<param name="from">The service <see cref="T:System.Type" /></param>
<param name="to">The implementation <see cref="T:System.Type" /></param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterScoped(System.Type,System.Func{System.Object})">
<summary>
Registers a scoped service using a delegate method.
</summary>
<param name="type">The service <see cref="T:System.Type" /></param>
<param name="factoryMethod">The delegate method.</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.RegisterScoped(System.Type,System.Func{Prism.Ioc.IContainerProvider,System.Object})">
<summary>
Registers a scoped service using a delegate method.
</summary>
<param name="type">The service <see cref="T:System.Type"/>.</param>
<param name="factoryMethod">The delegate method.</param>
<returns>The <see cref="T:Prism.Ioc.IContainerRegistry" /> instance</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.Resolve(System.Type)">
<summary>
Resolves a given <see cref="T:System.Type"/>
</summary>
<param name="type">The service <see cref="T:System.Type"/></param>
<returns>The resolved Service <see cref="T:System.Type"/></returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.Resolve(System.Type,System.String)">
<summary>
Resolves a given <see cref="T:System.Type"/>
</summary>
<param name="type">The service <see cref="T:System.Type"/></param>
<param name="name">The service name/key used when registering the <see cref="T:System.Type"/></param>
<returns>The resolved Service <see cref="T:System.Type"/></returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.Resolve(System.Type,System.ValueTuple{System.Type,System.Object}[])">
<summary>
Resolves a given <see cref="T:System.Type"/>
</summary>
<param name="type">The service <see cref="T:System.Type"/></param>
<param name="parameters">Typed parameters to use when resolving the Service</param>
<returns>The resolved Service <see cref="T:System.Type"/></returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.Resolve(System.Type,System.String,System.ValueTuple{System.Type,System.Object}[])">
<summary>
Resolves a given <see cref="T:System.Type"/>
</summary>
<param name="type">The service <see cref="T:System.Type"/></param>
<param name="name">The service name/key used when registering the <see cref="T:System.Type"/></param>
<param name="parameters">Typed parameters to use when resolving the Service</param>
<returns>The resolved Service <see cref="T:System.Type"/></returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.IsRegistered(System.Type)">
<summary>
Determines if a given service is registered
</summary>
<param name="type">The service <see cref="T:System.Type" /></param>
<returns><c>true</c> if the service is registered.</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.IsRegistered(System.Type,System.String)">
<summary>
Determines if a given service is registered with the specified name
</summary>
<param name="type">The service <see cref="T:System.Type" /></param>
<param name="name">The service name or key used</param>
<returns><c>true</c> if the service is registered.</returns>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.CreateScope">
<summary>
Creates a new Scope
</summary>
</member>
<member name="M:Prism.Unity.UnityContainerExtension.CreateScopeInternal">
<summary>
Creates a new Scope and provides the updated ServiceProvider
</summary>
<returns>A child <see cref="T:Unity.IUnityContainer" />.</returns>
<remarks>
This should be called by custom implementations that Implement IServiceScopeFactory
</remarks>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Runtime.CompilerServices.Unsafe</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.Unsafe">
<summary>Contains generic, low-level functionality for manipulating pointers.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.Int32)">
<summary>Adds an element offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.IntPtr)">
<summary>Adds an element offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.IntPtr)">
<summary>Adds a byte offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="byteOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of byte offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AreSame``1(``0@,``0@)">
<summary>Determines whether the specified references point to the same location.</summary>
<param name="left">The first reference to compare.</param>
<param name="right">The second reference to compare.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> point to the same location; otherwise, false.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.As``1(System.Object)">
<summary>Casts the given object to the specified type.</summary>
<param name="o">The object to cast.</param>
<typeparam name="T">The type which the object will be cast to.</typeparam>
<returns>The original object, casted to the given type.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.As``2(``0@)">
<summary>Reinterprets the given reference as a reference to a value of type <typeparamref name="TTo">TTo</typeparamref>.</summary>
<param name="source">The reference to reinterpret.</param>
<typeparam name="TFrom">The type of reference to reinterpret..</typeparam>
<typeparam name="TTo">The desired type of the reference.</typeparam>
<returns>A reference to a value of type <typeparamref name="TTo">TTo</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsPointer``1(``0@)">
<summary>Returns a pointer to the given by-ref parameter.</summary>
<param name="value">The object whose pointer is obtained.</param>
<typeparam name="T">The type of object.</typeparam>
<returns>A pointer to the given value.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsRef``1(System.Void*)">
<summary>Reinterprets the given location as a reference to a value of type <typeparamref name="T">T</typeparamref>.</summary>
<param name="source">The location of the value to reference.</param>
<typeparam name="T">The type of the interpreted location.</typeparam>
<returns>A reference to a value of type <typeparamref name="T">T</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ByteOffset``1(``0@,``0@)">
<summary>Determines the byte offset from origin to target from the given references.</summary>
<param name="origin">The reference to origin.</param>
<param name="target">The reference to target.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>Byte offset from origin to target i.e. <paramref name="target">target</paramref> - <paramref name="origin">origin</paramref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(System.Void*,``0@)">
<summary>Copies a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to copy to.</param>
<param name="source">A reference to the value to copy.</param>
<typeparam name="T">The type of value to copy.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(``0@,System.Void*)">
<summary>Copies a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to copy to.</param>
<param name="source">A pointer to the value to copy.</param>
<typeparam name="T">The type of value to copy.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Byte@,System.Byte@,System.UInt32)">
<summary>Copies bytes from the source address to the destination address.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32)">
<summary>Copies bytes from the source address to the destination address.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32)">
<summary>Copies bytes from the source address to the destination address
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Byte@,System.Byte@,System.UInt32)">
<summary>Copies bytes from the source address to the destination address
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Byte@,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Byte@,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value
without assuming architecture dependent alignment of the address.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value
without assuming architecture dependent alignment of the address.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Read``1(System.Void*)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Byte@)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Void*)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SizeOf``1">
<summary>Returns the size of an object of the given type parameter.</summary>
<typeparam name="T">The type of object whose size is retrieved.</typeparam>
<returns>The size of an object of type <typeparamref name="T">T</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.Int32)">
<summary>Subtracts an element offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.IntPtr)">
<summary>Subtracts an element offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.IntPtr)">
<summary>Subtracts a byte offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="byteOffset"></param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of byte offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Write``1(System.Void*,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Byte@,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Void*,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
</members>
</doc>

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Threading.Tasks.Extensions</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.ValueTaskAwaiter`1">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.GetResult">
<returns></returns>
</member>
<member name="P:System.Runtime.CompilerServices.ValueTaskAwaiter`1.IsCompleted">
<returns></returns>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.OnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.UnsafeOnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="T:System.Threading.Tasks.ValueTask`1">
<summary>Provides a value type that wraps a <see cref="Task{TResult}"></see> and a <typeparamref name="TResult">TResult</typeparamref>, only one of which is used.</summary>
<typeparam name="TResult">The result.</typeparam>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(System.Threading.Tasks.Task{`0})">
<summary>Initializes a new instance of the <see cref="ValueTask{TResult}"></see> class using the supplied task that represents the operation.</summary>
<param name="task">The task.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="task">task</paramref> argument is null.</exception>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(`0)">
<summary>Initializes a new instance of the <see cref="ValueTask{TResult}"></see> class using the supplied result of a successful operation.</summary>
<param name="result">The result.</param>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.AsTask">
<summary>Retrieves a <see cref="Task{TResult}"></see> object that represents this <see cref="ValueTask{TResult}"></see>.</summary>
<returns>The <see cref="Task{TResult}"></see> object that is wrapped in this <see cref="ValueTask{TResult}"></see> if one exists, or a new <see cref="Task{TResult}"></see> object that represents the result.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.ConfigureAwait(System.Boolean)">
<summary>Configures an awaiter for this value.</summary>
<param name="continueOnCapturedContext">true to attempt to marshal the continuation back to the captured context; otherwise, false.</param>
<returns>The configured awaiter.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.CreateAsyncMethodBuilder">
<summary>Creates a method builder for use with an async method.</summary>
<returns>The created builder.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.Equals(System.Object)">
<summary>Determines whether the specified object is equal to the current object.</summary>
<param name="obj">The object to compare with the current object.</param>
<returns>true if the specified object is equal to the current object; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.Equals(System.Threading.Tasks.ValueTask{`0})">
<summary>Determines whether the specified <see cref="ValueTask{TResult}"></see> object is equal to the current <see cref="ValueTask{TResult}"></see> object.</summary>
<param name="other">The object to compare with the current object.</param>
<returns>true if the specified object is equal to the current object; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.GetAwaiter">
<summary>Creates an awaiter for this value.</summary>
<returns>The awaiter.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.GetHashCode">
<summary>Returns the hash code for this instance.</summary>
<returns>The hash code for the current object.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCanceled">
<summary>Gets a value that indicates whether this object represents a canceled operation.</summary>
<returns>true if this object represents a canceled operation; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCompleted">
<summary>Gets a value that indicates whether this object represents a completed operation.</summary>
<returns>true if this object represents a completed operation; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCompletedSuccessfully">
<summary>Gets a value that indicates whether this object represents a successfully completed operation.</summary>
<returns>true if this object represents a successfully completed operation; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsFaulted">
<summary>Gets a value that indicates whether this object represents a failed operation.</summary>
<returns>true if this object represents a failed operation; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.op_Equality(System.Threading.Tasks.ValueTask{`0},System.Threading.Tasks.ValueTask{`0})">
<summary>Compares two values for equality.</summary>
<param name="left">The first value to compare.</param>
<param name="right">The second value to compare.</param>
<returns>true if the two <see cref="ValueTask{TResult}"></see> values are equal; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.op_Inequality(System.Threading.Tasks.ValueTask{`0},System.Threading.Tasks.ValueTask{`0})">
<summary>Determines whether two <see cref="ValueTask{TResult}"></see> values are unequal.</summary>
<param name="left">The first value to compare.</param>
<param name="right">The seconed value to compare.</param>
<returns>true if the two <see cref="ValueTask{TResult}"></see> values are not equal; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.Result">
<summary>Gets the result.</summary>
<returns>The result.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.ToString">
<summary>Returns a string that represents the current object.</summary>
<returns>A string that represents the current object.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute">
</member>
<member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.#ctor(System.Type)">
<param name="builderType"></param>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.BuilderType">
<returns></returns>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
<param name="awaiter"></param>
<param name="stateMachine"></param>
<typeparam name="TAwaiter"></typeparam>
<typeparam name="TStateMachine"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
<param name="awaiter"></param>
<param name="stateMachine"></param>
<typeparam name="TAwaiter"></typeparam>
<typeparam name="TStateMachine"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Create">
<returns></returns>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetException(System.Exception)">
<param name="exception"></param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(`0)">
<param name="result"></param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
<param name="stateMachine"></param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Start``1(``0@)">
<param name="stateMachine"></param>
<typeparam name="TStateMachine"></typeparam>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Task">
<returns></returns>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult">
<returns></returns>
</member>
<member name="P:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.IsCompleted">
<returns></returns>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.OnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.UnsafeOnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter">
<returns></returns>
</member>
</members>
</doc>

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Prism" publicKeyToken="40ee6c3a2184dc59" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.1.97.5141" newVersion="8.1.97.5141" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FreeSql" publicKeyToken="a33928e5d4a4b39c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.687.0" newVersion="3.2.687.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.117.0" newVersion="1.0.117.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="OxyPlot" publicKeyToken="638079a8f0bd61e9" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.2.0" newVersion="2.1.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Prism" publicKeyToken="40ee6c3a2184dc59" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.1.97.5141" newVersion="8.1.97.5141" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FreeSql" publicKeyToken="a33928e5d4a4b39c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.687.0" newVersion="3.2.687.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.117.0" newVersion="1.0.117.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="OxyPlot" publicKeyToken="638079a8f0bd61e9" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.2.0" newVersion="2.1.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite.EF6" />
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
<remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
</system.data>
</configuration>

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Unity.Container" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.11.8.0" newVersion="5.11.8.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Unity.Abstractions" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.11.6.0" newVersion="5.11.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Prism" publicKeyToken="40ee6c3a2184dc59" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1909" newVersion="8.0.0.1909" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Prism.Wpf" publicKeyToken="40ee6c3a2184dc59" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1909" newVersion="8.0.0.1909" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FreeSql" publicKeyToken="a33928e5d4a4b39c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.687.0" newVersion="3.2.687.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.117.0" newVersion="1.0.117.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="OxyPlot" publicKeyToken="638079a8f0bd61e9" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.2.0" newVersion="2.1.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save