Skip to content

JamesnetGroup/anatomy-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anatomy Analyzer English 中文 한국어

An advanced WPF application for dynamic assembly loading and UI analysis, showcasing powerful reflection capabilities and advanced WPF techniques.

License: MIT .NET Stars Issues

Project Overview

Anatomy Analyzer is an advanced WPF application built on .NET 8.0, focusing on dynamic assembly loading through reflection. It provides a comprehensive view of UI classes within selected DLLs, visualizing their ControlTemplates and hierarchical structures using a TreeView. This tool offers real-time, visual representation of UI components at every level of the hierarchy.

Key Features and Technical Implementation

1. Dynamic Assembly Loading

  • Utilization of .NET reflection to dynamically load DLL assemblies
  • Extraction and display of UI class lists from loaded assemblies

2. Advanced UI Analysis

  • Visualization of ControlTemplate structures using TreeView
  • Real-time rendering of UI hierarchies for selected components

3. MVVM Architecture

  • Implementation of MVVM pattern using Prism.Unity and CommunityToolkit.Mvvm
  • Separation of concerns with ViewModel-based logic management

4. Modular Design

  • Project distribution and modularization for improved maintainability
  • Dependency Injection for loose coupling between components

5. Advanced WPF Techniques

  • Custom Control development showcasing high-level WPF skills
  • Implementation of recursive ItemsControl for TreeView and TreeViewItem
  • Dynamic theming and localization through dynamic binding

In-Depth Technical Analysis

  • Reflection and Dynamic Loading: Showcases advanced use of .NET reflection for runtime analysis of assemblies
  • MVVM Implementation: Demonstrates practical application of MVVM using Prism.Unity for DI and CommunityToolkit.Mvvm for boilerplate reduction
  • UI Virtualization: Efficient rendering of complex UI hierarchies using advanced ItemsPresenter techniques
  • Custom Control Development: Creation of specialized WPF controls for unique visualization needs
  • Modular Architecture: Illustrates best practices in creating maintainable and scalable WPF applications

Tech Stack

  • WPF (Windows Presentation Foundation)
  • .NET 8.0
  • C# 10.0
  • XAML
  • Jamesnet.Wpf Framework
  • Prism.Unity
  • CommunityToolkit.Mvvm

Getting Started

Prerequisites

  • Visual Studio 2022 or later
  • .NET 8.0 SDK

Installation and Execution

1. Clone the repository:

git clone https://github.com/jamesnet214/anatomyanalyzer.git

2. Open the solution in your preferred IDE:

  • Visual Studio
  • Visual Studio Code
  • JetBrains Rider

3. Build and Run

  • Set as startup project
  • Press F5 or click the run button
  • Windows 11 recommended for optimal experience

Contributing

Contributions to Anatomy Analyzer are welcome! Please feel free to submit issues, create pull requests, or suggest improvements.

License

This project is distributed under the MIT License. See the LICENSE file for more details.

Contact

Dive into the world of advanced WPF development, reflection techniques, and MVVM architecture with Anatomy Analyzer. This project not only serves as a powerful tool for UI analysis but also as an educational resource for mastering complex WPF concepts, dependency injection, project modularization, and the implementation of high-level WPF controls and patterns.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages