Coder Social home page Coder Social logo

dirkster99 / mrulib Goto Github PK

View Code? Open in Web Editor NEW
23.0 3.0 8.0 2.92 MB

Implements a WPF/MVVM Control libray (with backend) that manages a MRU (Most Recently Used) list of files

License: MIT License

Batchfile 0.45% C# 99.55%
mvvm wpf csharp dotnet theme dark-theme light-theme library mit-license most-recently-used

mrulib's Introduction

Build status Release NuGet

Net4 NetCore3

 Overview

The MRUib project supplies MVVM/WPF controls that manage a Most Recently Used list of files. See CodeProject article for more details.

Details and Demo Applications

This library Implements a WPF/MVVM Control libray (with backend) that manages a Most Recently Used list of files:

  • with saving/loading settings from to XML
  • List can be grouped by last access (Pinned, Today, Yesterday, Last Week)
  • A recently used files menu entry sorted by last access (without grouping is also supported)
  • Pinned entries can be moved up and down in the list
  • List entries can be removed based on their age (e.g. Remove all entries older than 1 week)
  • Support for Light/Dark theming is build in
  • Entries in a ListView (or other constrained size view) can be trimmed using Ellipses '...' characters at the Left, Right, or Center of the text string

See ShowEllipses dependency property of the:

for more details.

There is a demo application and unit test project to demonstrate usage of the control and document each feature, such as, the ability to configure a minimum and maximum value that can be used to keep the resulting number of list entries within defined bounds.

Theming

Load Light or Dark brush resources in you resource dictionary to take advantage of existing definitions.

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/MRULib;component/Themes/DarkBrushes.xaml" />
    </ResourceDictionary.MergedDictionaries>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/MRULib;component/Themes/LightBrushes.xaml" />
    </ResourceDictionary.MergedDictionaries>

These definitions do not theme all controls used within this library. You should use a standard theming library, such as:

to also theme standard elements, such as, button and textblock etc.

This library is the third attempt on the subject. See Codeplex to find the last version of this library: http://mrulist.codeplex.com/.

Sample Applications:

screenshot screenshot screenshot

mrulib's People

Contributors

dirkster99 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mrulib's Issues

Make CheckPin.IsMouseOverListViewItemProperty public

CheckPin.IsMouseOverListViewItemProperty is currently private which leads to errors during design time listed in the Error Lost.
While compilation and program execution work fine, hot reload does not work since an error is present in the Error List.

Unnecessary 'source/packages' folder

Hi,
Thanks for sharing your code. Good job!

There's yet a small glitch I'd like to point out. I noticed that you included
https://github.com/Dirkster99/MRULib/tree/master/source/packages . The better practice, however, is to just include packages.config, witch you did, and let people restore the packages themselves.
The source/packages folder should also be included in .gitingnore file.

BTW, GitHub offers a nice VisualStudio .gitingnore template when you create a new repository.

Why "Pinned" group is not top of the list?

Hi~
I want to use this library, but something is strange.
When all items are not pinned, if I click the pin of first item, the "Pinned" group is under the "Today" group.
1
Other items do not happen this. Is it a bug? How can I fix it?

Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.