Coder Social home page Coder Social logo

hammer.mdicontainer's Introduction

Hammer.MdiContainer

This is a fork from the excellent MDIContainer for WPF by András Sebő. You can find the original CodePlex project here:

https://mdicontainer.codeplex.com/

##Original Description MDIContainer is a custom WPF control (also part of the Hammer UI Kit), allows you to display user controls as windows in a container. The motive was to make available to work with multiple documents in the same time.

The concept of MDI is not new, in fact it is depricated in WPF. Microsoft recommends to use TabControl, Ribbon or Dockable components. However sometimes it would be still better to have windows.

Features

Displays any user control (even different kind of at the same time) as MDI Window
MDI Window supports minimize, maximize, close, move and resize
Implementation is as easy as a TabControl
MDI Window has almost same behavior as a MS Window
CTRL + TAB and CTRL + SHIFT + TAB swtiches between windows
TAB and SHIFT + TAB switches between controls inside the window
Show thumbnail image in minimized mode

##Modifications I have made a few fixes/enhancements:

  • Windows cannot be mistakenly hidden outside of the visible area of the container
  • Keyboard focus outside of the container does not modify selected window in the container
  • Date picker popup causes the window to be active
  • There is a new DependencyProperty: IsModal, which draws an adorner around the window so that other windows cannot take focus, making this window modal. Use only on the active window, otherwise you will experience something like a Venn's diagram effect :)
  • Refactored a few names - simplified code here and there.

The source code is licensed under the GNU General Public License version 3 (GPLv3)

#Installation This project will be uploaded to NuGet repositories: https://www.nuget.org/packages/MdiContainerWPF/

PM> Install-Package MdiContainerWPF

hammer.mdicontainer's People

Contributors

larjohn avatar

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.