A WPF-based in-window explorer application implementing MVVM pattern
ICommander is a WPF-based application that replicates the functionality of Windows Explorer within a custom window. This project serves as an excellent example of implementing MVVM pattern in a real-world application, providing developers with insights into advanced WPF techniques and proper project structuring.
- Full implementation of MVVM pattern
- Proper use of DataContext and Binding
- Implementation of RelayCommand for action binding
- Development of custom controls for file and folder representation
- Advanced usage of ControlTemplate and DataTemplate
- Implementation of Triggers for dynamic UI updates
- Integration with Windows file system using DllImport
- Implementation of file and folder operations (create, delete, rename)
- File and folder browsing with back and forward navigation
- Creation of a Windows Explorer-like interface
- Implementation of context menus for file and folder operations
- Tab-based interface for multiple folder views
- Efficient loading and display of file system contents
- Smooth navigation and operation handling
- .NET 8.0
- WPF (Windows Presentation Foundation)
- C# 10.0
- MVVM (Model-View-ViewModel) pattern
- Visual Studio 2022 or later
- .NET 8.0 SDK
git clone https://github.com/jamesnet214/icommander.git
- Visual Studio
- Visual Studio Code
- Jetbrains Rider
- Windows 11 recommended
- Launch the ICommander application
- Navigate through your file system using the explorer-like interface
- Use context menus for file and folder operations
- Utilize the command prompt feature for advanced operations
The project is organized into five main folders:
- Based: Contains core classes for file operations, window modules, and MVVM basics
- Core: Defines basic controls and file converters
- Implements: Includes layouts and resources
- Presentation: Contains the main window and view models
- Client: Entry point of the application
If you'd like to contribute to improving the project, please send a Pull Request. All forms of contribution are welcome!
This project is distributed under the MIT license. For more details, please refer to the LICENSE file.
- Website: https://jamesnet.dev
- Email: [email protected], [email protected]
Explore advanced WPF techniques and MVVM implementation with ICommander!