WPF开发必备
类库
1、XamlFlair
The goal of the XamlFlair library is to ease the implementation of common animations and allow a developer to easily add a single or combined set of animations with just a few lines of Xaml.
Github:https://github.com/XamlFlair/XamlFlair
2、Vanara
This project contains various .NET assemblies that contain P/Invoke functions, interfaces, enums and structures from Windows libraries. Each assembly is associated with one or a few tightly related libraries. For example, Shlwapi.dll has all the exported functions from shlwapi.lib; Kernel32.dll has all for both kernel32.lib and kernelbase.lib.
All assemblies are available via NuGet and provide builds against .NET 2.0, 3.5, 4.0, 4.5, Core 3.0, Core 3.1 and .NET 5.0 (new in v3.2.20) and support SourceLink. In all cases where a dependency doesn't disallow it, .NET Standard 2.0, .NET Core 2.0, and 2.1 builds are also included for use with UWP and other .NET Core and Standard projects.
This project releases new versions every few weeks after sufficient testing. New releases are cataloged, along with release notes, in the Releases section and all NuGet packages are published to nuget.org. Each GitHub push triggers an AppVeyor build. The owners thank them for the free Open-Source account! The status of that build is in the header of this page. The NuGet packages from those builds are available for test purposes on AppVeyor's project NuGet source at https://ci.appveyor.com/nuget/vanara-prerelease.
Github:https://github.com/dahall/Vanara
3、WpfAnimatedGif
A simple library to display animated GIF images in WPF, usable in XAML or in code.
Github:https://github.com/XamlAnimatedGif/WpfAnimatedGif
4、WPF Keyboard Control
This is a component for WPF applications
Github:https://github.com/snmslavk/WPF-Keyboard-Control
5、WPF-SystemKeyboard
WPF开发的用户键盘支持复合按键
Github:https://github.com/HeBianGu/WPF-SystemKeyboard
6、WPFKeyboard
A virtual keyboard in WPF. Fully customizable, with support for every language supported by windows using Windows KBD Layout dll files.
Github:https://github.com/pauldotknopf/WPFKeyboard
7、Wpf Color/Font Dialog
A wpf color and font picker based on a project by Alessio Saltarin.
Github:https://github.com/sskodje/WpfColorFont/
8、Objects Comparer
It is quite common situation when complex objects should be compared. Sometimes objects can contain nested elements, or some members should be excluded from comparison (auto generated identifiers, create/update date etc.), or some members can have custom comparison rules (same data in different formats, like phone numbers). This small framework was developed to solve such kind of problems.
Briefly, Objects Comparer is an object-to-object comparer, which allows to compare objects recursively member by member and define custom comparison rules for certain properties, fields or types.
Objects comparer can be considered as ready to use framework or as a starting point for similar solutions.
Github:https://github.com/ValeraT1982/ObjectsComparer
9、WPF Chrome Tabs - MVVM
A tab control based on WPF chrome tabs, modified to work with the MVVM pattern. WPF chrome tabs is a tab control modeled after the tabs in Google's Chrome browser.
New features include:
- Support for dragging tabs to new windows, and snapping them back into tabs.
- Support for pinned tabs.
- Bindable property to lock tabs
- Bindable property to show/hide "add tab" button
- Bindable property for selected tab brush
- Bindable property to drag window instead when dragging the last remaining tab.
- Bindable propertes for minimum tab width, maximum tab width, and pinned tab width.
Github:https://github.com/sskodje/wpfchrometabs-mvvm
10、ReactiveProperty
ReactiveProperty provides MVVM and asynchronous support features under Reactive Extensions. Target framework is .NET 6.0(on v8.0.0-pre), .NET Core 3.1, .NET Framework 4.6.1 and .NET Standard 2.0.
Github:https://github.com/runceel/ReactiveProperty
11、Ookii.Dialogs.Wpf
A class library for WPF applications providing several common dialogs. Included are classes for task dialogs, credential dialog, progress dialog, and common file dialogs.
Github:https://github.com/ookii-dialogs/ookii-dialogs-wpf
12、Gridify (A Modern Dynamic LINQ library)
Gridify is a dynamic LINQ library that converts your strings to a LINQ query in the easiest way possible with excellent performance. it also, introduces an easy way to apply Filtering, Sorting and pagination using text-based data.
Github:https://github.com/alirezanet/Gridify
13、Mapster - The Mapper of Your Domain
A fast, fun and stimulating object to object Mapper
Github:https://github.com/MapsterMapper/Mapster
14、MoreLINQ
Extensions to LINQ to Objects
LINQ to Objects is missing a few desirable features.
This project enhances LINQ to Objects with extra methods, in a manner which keeps to the spirit of LINQ.
MoreLINQ is available for download and installation as NuGet packages.
Documentation for the stable and beta releases can be found at morelinq.github.io.
Github:https://github.com/morelinq/MoreLINQ
15、Gridify (A Modern Dynamic LINQ library)
Easy and optimized way to apply Filtering, Sorting, and Pagination using text-based data.
Gridify is a dynamic LINQ library that converts your string to a LINQ query in the easiest way possible with excellent performance. it also, introduces an easy way to apply Filtering, Sorting and Pagination using text-based data.
Github:https://github.com/alirezanet/Gridify
曲线类库
1、OxyPlot
OxyPlot is a cross-platform plotting library for .NET
Github:https://github.com/oxyplot/oxyplot
2、ScottPlot
ScottPlot is a free and open-source plotting library for .NET that makes it easy to interactively display large datasets. Line plots, bar charts, pie graphs, scatter plots, and more can be created with just a few lines of code.
官网:https://swharden.com/scottplot/
Github:https://github.com/scottplot/scottplot
3、IPlot
Charting library for .NET, rendered using Plotly or HighCharts in the browser.
Github:https://github.com/malisimo/IPlot