https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_b964594d3d957944241961017b9eb19bf02834de44cce93d8e67dd306852dbe346167181e455e33d5268ea01d973d77bb056848546f31794f31a4c31a9da5aa3.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_23f1ae74c634d7e5e0a067c22b7a8c2d79c3ffd9a3b9395fc82c1b3b99635552b994f1f72f532f28ceaff1ea054ea026cd488cd62fa03a4ad91d212b5f3c5a72.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_451c3884f51125f7687e5bb07cfab033c04cb7174c33f93213b2af4bad2af13cf48b92a7fa95fc86d7d436f355938a3ac50aa119cdb7c9b6d5a52815c3e6033e.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_bfff9e63e857e9ee612e292d4a6edf3ced64d6a756925c953a9d8f77845ff601eca64d73dfa48756b1a9f4a4d6de6127a273bcde16ddeb71a22383460f4e94b0.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f4dd7e1d73ae5eda35ed5ad6aa965b612dbf483ece3ca50c1e8e30ad8dff1c66a160ed75e958e2db399661d229874783e0834ad813a479437035666b8e9e3386.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_4fce0769137d4cd096989b0349bc3c2bbfca79ac311fdf714c41ab24d87551c7b49b756c8a8de090b0714a0ad0560e49fa532ba5a88875ea4afd78efac464df6.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_85cec8b07d60426b11040e471babca0d2f9c8dc87a9b56e06cad39828f7f67179e29609100f282a574872c9a93fb635b25416300eb4c97bc5a653d00cf6f8dbf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_6768e5a27d4d357347338621c0d20bd269b126d30eec796193390f2f530fbaea60af84130c46f9786114be65149e661e87d55c339219c90aa76396d7e5b734ef.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_2acd6bdff3b680341e8c727da5169a647123eb8fd0a90253161b4c3af272c15d293bf9bb217008bb13f84d1910b0e166798001f8603b6c026d5c20a76c41d47c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_3c8ecdeb891c1db15d5847cc4f377c0ed0d8f0a7cfaf64c1aaeaa16d373765f7cc5d7d7c3c037c18ed87155800b349b68f28c87e264ec26201e542faa869a69f.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_268c9bba6ba649318f0da28c37b09a9bbfa371210f9b6b52faa7fd8ae94abf6b3c3bfeb5df5705c93495ce1152ca58aeabc435d6c6c1bd959025165c3f50e086.js
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • Home
  • Featured
    • Advanced Python Topics
    • AWS Learning Roadmap
    • JWT Complete Guide
    • Git CheatSheet
  • Explore
    • Programming
    • Development
      • microservices
      • Front End
    • Database
    • DevOps
    • Productivity
    • Tutorial Series
      • C# LinQ Tutorials
      • PHP Tutorials
  • Dev Tools
    • JSON Formatter
    • Diff Checker
    • JWT Decoder
    • JWT Generator
    • Base64 Converter
    • Data Format Converter
    • QR Code Generator
    • Javascript Minifier
    • CSS Minifier
    • Text Analyzer
  • About
  • Contact
CodeSamplez.com

CodeSamplez.com

Programming And Development Resources

You are here: Home / Development / WPF Property Grid (WPG) Tutorial In C#

WPF Property Grid (WPG) Tutorial In C#

Updated April 27, 2025 by Rana Ahsan 4 Comments ⏰ 8 minutes

WPF Property Grid in C#.NET

Have you ever struggled with creating complex forms with dozens of input fields in your WPF application? I know I have, and it’s a pain! That’s exactly why I’m excited to share this comprehensive guide about the WPF Property Grid – an absolute game-changer for anyone developing data-heavy applications.

What is a WPF Property Grid and Why Should You Care?

A Property Grid is a powerful UI control that automatically generates input controls based on properties defined in your C# classes. It’s the same type of control that powers Visual Studio’s Properties window, allowing users to view and edit object properties in a neat, organized panel. For applications that require numerous input fields, property grids are an incredible time-saver.

Instead of manually designing each field in XAML, you can simply define a class with the properties you need, apply some attributes, and the Property Grid does all the heavy lifting for you. The result? Clean, consistent UIs with much less code.

How Does a WPF Property Grid Work?

The Property Grid works through a simple but powerful concept – it uses reflection to analyze your class properties and generates appropriate UI controls based on their types. Here’s the basic mechanism:

  1. You define a class with properties you want to display and edit
  2. You decorate those properties with attributes to control their appearance and behavior
  3. The Property Grid renders the appropriate controls based on property types
  4. Changes made by users are automatically applied back to your object

For example:

  • String properties become text boxes
  • Boolean properties become checkboxes
  • Enum properties become dropdown lists
  • Numeric properties become up/down controls
  • DateTime properties become date pickers

You can further customize the appearance using attributes that define categories, display names, descriptions, validation rules, and more.

Best Property Grid Libraries for WPF

While WPF doesn’t include a built-in property grid, several excellent third-party options are available. Here are the top choices in 2025:

  1. Extended WPF Toolkit – A comprehensive collection of WPF controls including an excellent Property Grid
  2. DevExpress WPF Controls – A commercial library with a feature-rich Property Grid supporting DateOnly/TimeOnly properties as of 2024
  3. Syncfusion PropertyGrid – A flexible commercial option with extensive customization
  4. WPG (WPF Property Grid) – An open-source solution that we’ll explore in this tutorial

For this tutorial, we’ll focus on WPG, as it’s free, open-source, and provides a solid foundation for understanding property grid concepts.

Implementing a Property Grid with WPG

Let’s dive into implementation with a step-by-step guide using the WPG library. While the original WPG was hosted on CodePlex (which has been shut down), the project has been preserved on GitHub and can still be used effectively.

Step 1: Setting Up Your Project

First, you’ll need to add the WPG library to your project. You can:

  1. Use NuGet Package Manager (if available)
  2. Download and reference the DLL files directly
  3. Clone the source code from GitHub and build it yourself

For simplicity, I recommend downloading the compiled DLLs and adding them as references to your project.

Step 2: Creating Your Property Grid Class

Now, let’s create a class that will define the properties to display in our grid:

using System;
using System.ComponentModel;
using System.Xml.Serialization;

namespace PropertyGridClasses
{
    public class MyPropertyGrid
    {
        // Enum for dropdown selection
        public enum ETestEnum { Option1, Option2, Option3 }
        
        // Category organization with display name and tooltip
        [CategoryAttribute("Category 1"),
        DisplayName("Choose an Option"),
        DescriptionAttribute("Select one of the available options")]
        public ETestEnum ComboData { get; set; }
        
        [CategoryAttribute("Category 2"),
        DisplayName("Numeric Value"),
        DescriptionAttribute("Enter a numeric value between 0 and 100")]
        [Range(0, 100)] // Adding validation
        public int MyNumericUpdown { get; set; }
        
        [CategoryAttribute("Category 2"),
        DisplayName("Text Input"),
        DescriptionAttribute("Enter some text here")]
        public string MyTextbox { get; set; }
        
        [CategoryAttribute("Category 3"),
        DisplayName("Date Selection"),
        DescriptionAttribute("Select a date")]
        public DateTime MyDate { get; set; }
        
        [CategoryAttribute("Category 3"),
        DisplayName("Enable Feature"),
        DescriptionAttribute("Toggle this feature on or off")]
        public bool MyToggle { get; set; }
    }
}Code language: JavaScript (javascript)

Notice how we’ve:

  • Used CategoryAttribute to organize properties into collapsible groups
  • Applied DisplayName to provide user-friendly labels
  • Added DescriptionAttribute for helpful tooltips
  • Included a Range attribute for validation (if your library supports it)

Step 3: Adding the Property Grid to Your XAML

Next, let’s add the property grid control to our XAML file:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wpg="clr-namespace:WPG;assembly=WPG"
        Title="Property Grid Demo" Height="450" Width="600" Loaded="Window_Loaded">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        
        <!-- Property Grid Control -->
        <wpg:PropertyGrid 
            Grid.Column="0"
            AutomaticlyExpandObjects="False" 
            Width="320" 
            Margin="10"
            x:Name="wpgMyControl" 
            ShowDescription="True" 
            ShowPreview="True" />
        
        <!-- Right panel for additional content -->
        <StackPanel Grid.Column="1" Margin="10">
            <TextBlock Text="Property Values:" FontWeight="Bold" Margin="0,0,0,10"/>
            <Button Content="Get Values" Click="GetValues_Click" Margin="0,10,0,0"/>
            <TextBlock x:Name="txtValues" Margin="0,10,0,0" TextWrapping="Wrap"/>
        </StackPanel>
    </Grid>
</Window>Code language: HTML, XML (xml)

Step 4: Connecting Everything in the Code-Behind

Finally, let’s hook everything up in our C# code-behind file:

using System;
using System.Windows;
using PropertyGridClasses;

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        private MyPropertyGrid _propertyObject;
        
        public MainWindow()
        {
            InitializeComponent();
        }
        
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // Create instance of our property class
            _propertyObject = new MyPropertyGrid
            {
                // Set default values
                ComboData = MyPropertyGrid.ETestEnum.Option1,
                MyNumericUpdown = 50,
                MyTextbox = "Hello World",
                MyDate = DateTime.Now,
                MyToggle = true
            };
            
            // Assign to property grid
            wpgMyControl.Instance = _propertyObject;
        }
        
        private void GetValues_Click(object sender, RoutedEventArgs e)
        {
            // Access property values directly from your object
            txtValues.Text = $"Selected option: {_propertyObject.ComboData}\n" +
                            $"Numeric value: {_propertyObject.MyNumericUpdown}\n" +
                            $"Text value: {_propertyObject.MyTextbox}\n" +
                            $"Date: {_propertyObject.MyDate.ToShortDateString()}\n" +
                            $"Toggle: {_propertyObject.MyToggle}";
        }
    }
}Code language: PHP (php)

When you run this application, you’ll see a property grid with fields automatically generated based on your class properties, organized into categories, with appropriate controls for each property type.

Advantages of Using a WPF Property Grid

Property grids offer several compelling benefits that can dramatically improve your development workflow:

  1. Massive code reduction – No need to manually create and position dozens of UI controls
  2. Consistency – Uniform appearance and behavior across all properties
  3. Easy maintenance – Adding or removing fields is as simple as modifying your class
  4. Organized interface – Categories help organize large numbers of properties
  5. Built-in features – Search, filtering, and collapsible categories come standard
  6. Time-saving – Perfect for applications with complex data entry requirements
  7. Familiar UX – Users recognize the pattern from Visual Studio and other applications

Potential Limitations to Consider

While property grids are fantastic for many scenarios, they do have some limitations:

  1. Less customizable layout – You’re somewhat constrained by the grid format
  2. Learning curve for customization – Advanced scenarios require a deeper understanding
  3. Limited control over the UI – Some libraries have more styling options than others
  4. Not ideal for every scenario – Simple forms might be better with traditional controls
  5. Event handling can be tricky – Some implementations make it challenging to respond to individual property changes

Modern Alternatives Worth Considering

In 2025, several alternatives to traditional property grids have emerged:

  1. MaterialDesignXAML – Offers modern-looking property editors with Material Design styling
  2. ReactiveUI PropertyGrid – Combines the power of ReactiveUI with property grid functionality
  3. Custom DataGrid-based solutions – Some developers create customized implementations based on the WPF DataGrid
  4. MVVM Framework property editors – Libraries like Caliburn.Micro offer property editing capabilities

Best Practices for WPF Property Grids

To get the most out of your property grid implementation:

  1. Use descriptive categories – Group related properties logically
  2. Provide helpful descriptions – Users should understand what each property does
  3. Use custom editors for complex types – Don’t rely on the default editors for everything
  4. Implement data validation – Use attributes or IDataErrorInfo to validate input
  5. Consider read-only properties – Not everything needs to be editable
  6. Test with different screen resolutions – Property grids can behave differently on various displays
  7. Implement search functionality – For grids with many properties, search becomes essential

Conclusion

The WPF Property Grid is an incredibly powerful tool that can dramatically improve your development efficiency when building data-heavy applications. By automatically generating UI controls from your class properties, it eliminates countless hours of tedious UI design work.

While the original WPG library mentioned in this tutorial may have limitations, numerous modern alternatives now exist that provide enhanced functionality and better integration with current development practices. Whether you choose an open-source solution or a commercial library, the property grid pattern remains one of the most efficient ways to handle complex property editing in WPF applications.

Have you used property grids in your projects? What has been your experience? Let me know in the comments below!

Recommended Resources

  • Extended WPF Toolkit Documentation
  • DevExpress WPF Controls
  • Syncfusion WPF Property Grid
  • MSDN Documentation on PropertyGrid

Happy coding! 😊

Share if liked!

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on X (Opens in new window) X
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket

You may also like


Discover more from CodeSamplez.com

Subscribe to get the latest posts sent to your email.

First Published On: April 19, 2011 Filed Under: Development Tagged With: .net, c#, wpf

About Rana Ahsan

Rana Ahsan is a seasoned software engineer and technology leader specialized in distributed systems and software architecture. With a Master’s in Software Engineering from Concordia University, his experience spans leading scalable architecture at Coursera and TopHat, contributing to open-source projects. This blog, CodeSamplez.com, showcases his passion for sharing practical insights on programming and distributed systems concepts and help educate others.
Github | X | LinkedIn

Reader Interactions

Comments

  1. Silvio says

    March 1, 2012 at 7:40 AM

    It seens a greate componet, but is too complicated to see how to use it. I’m trying to give access to some properties of an image. Maybe i will fall in tentation of use a common grid.
    The class MyPropertyGrid is a my inspected class?

    wpgMyControl, what is?

    I trying do this in Visual C#.

    thanks
    Silvio

    Reply
  2. Spencer says

    September 12, 2013 at 5:07 AM

    This C# Property Grid control is able to display the properties of any object in a user-friendly way and allows the end users of your applications edit the properties of the object.

    Reply
    • sridhar r says

      October 28, 2017 at 4:33 AM

      where I have to get this dll

      Reply
  3. kills says

    April 8, 2020 at 8:32 AM

    how to use the ‘color palette’ in MyPropertyGrid ???

    Reply

Leave a ReplyCancel reply

Primary Sidebar

  • Facebook
  • X
  • Pinterest
  • Tumblr

Subscribe via Email

Top Picks

python local environment setup

Python Local Development Environment: Complete Setup Guide

In-Depth JWT Tutorial Guide For Beginners

JSON Web Tokens (JWT): A Complete In-Depth Beginners Tutorial

The Ultimate Git Commands CheatSheet

Git Commands Cheatsheet: The Ultimate Git Reference

web development architecture case studies

Web Development Architecture Case Studies: Lessons From Titans

static website deployment s3 cloudfront

Host Static Website With AWS S3 And CloudFront – Step By Step

Featured Dev Tools

  • JWT Decoder
  • JSON Formatter

Recently Published

service worker framework integration

Service Workers in React: Framework Integration Guide

service worker caching strategies

Service Worker Caching Strategies: Performance & Offline Apps

service worker lifecycle

Service Worker Lifecycle: Complete Guide for FE Developers

what is service worker

What Is a Service Worker? A Beginner’s Guide

Dynamic Typing In Python

Dynamic Typing in Python: A Comprehensive Guide For Beginners

Footer

Subscribe via Email

Follow Us

  • Facebook
  • X
  • Pinterest
  • Tumblr

Explore By Topics

Python | AWS | PHP | C# | Javascript

Copyright © 2025

https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_b1fd3cca64c60a5a228a4108bd4c39563bf69cba93807b17e5928713084db9fc726c567e55d09c3df91664f47ceb21b0f2f42046ab8d4e708e1fe93679dea86c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_c402e38f1879c18090377fb6b73b15ac158be453ecda3a54456494fe8aba42b990c293bae5424e5643d52515ffc2067e0819995be8d07d5bba9107a96780775c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_ffc3511227531cc335353c54c3cbbaa11d0b80e5cb117478e144436c13cd05495b67af2e8950480ed54dbdabcdcef497c90fdb9814e88fe5978e1d56ce09f2cf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_d57da9abfef16337e5bc44c4fc6488de258896ce8a4d42e1b53467f701a60ad499eb48d8ae790779e6b4b29bd016713138cd7ba352bce5724e2d3fe05d638b27.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_edc0e9ef106cc9ef7edd8033c5c6fcff6dc09ee901fd07f4b90a16d9345b35a06534f639e018a64baaf9384eee1df305570c1ecad747f41b787b89f53839962b.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_bc2182bb3de51847c8685df18692deda654dbf90fb01b503eb1bb0b68b879a051b91f30a9210ed0b2ba47c730db14b159cd9391ffdcd7117de397edd18366360.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_dccc492dbbfdac33d1411f9df909e849c7268fcf99b43007f278cde3a0adc0ae00e8cae5ec81cf255b9a6eae74e239ba1fa935572af77173219cb081f7d2327d.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_00bacf9e36181aac2b666d110cd9d82257f846766e7041b2d7b3c909b458982931ccc9b203e37098fbdfcf43ca359cf04e3824a724a6789fc204196d3a72ad29.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_65d41e8acf8460659d5800381e03c2a9dd52ec71287a6f20307e1eb7da27691a8e74e4408e23656afa7b5bd74b82697984fd2b1d4501251c6e73c6a935b6b92f.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_aa5a5d229b421633f4247380e1e8c0a4854f82efb35d13a5b07b7b8fbe22e98842a580f063e5965345a51c477a7f5c2585edf8dd7d896b2438dc61f91d8d970c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_bb8058a9e234a7ffaa98891b1df7f6b8e67410e6984568b151daa05113b8c7f89d7b5918ae73f020998a16f7f5a087a13d6a9a5e5d7c301e2ca12fd9d1f8d177.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_647fb67570c6108fb10ae6785a1abdbecac99ffcf80351d0bef17c3cf783dce497b1895fcdaae997dacc72c359fbfb128cc1540dd7df56deb4961e1cd4b22636.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f7a298a0f1f754623fe3b30f6910ce2c1373f715450750bd7a391571812b00df1917e2be90df6c4efc54dbdfda8616278a574dea02ba2c7a31992768df8db334.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_df30604d5842ef29888c3c1881220dc6d3f8854666d94f0680c5f38aa643c5fb79b10eb9f10998d8856eb24ca265783195937434fd6c2bb8e4846df0277a7fb7.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f17fe6fb0993f1703181d7ae9e9ea570f3d33a43afd6f2a4567daa1a6745698c7b8193dc72d50991d2dd87cd3dcf663959206607d193a9b57926d061a1f50aef.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_945dcbab2c2a131f3c90f4fb91776b76066d589f84fb55bff25cd5d79a56218000616bfca1f0af9a74f32348693707af49e8fe624de8aa34f1e1c5b6a25709cf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_65820d252e1b93596de6697fd5f02483f3e2524a0696c7d698b64745edb32bf5831a90e556842f5f88c8209766cc78ca3a41cf783d20236a9f90d4a7ea7b3e72.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_7286884797a1210857e2a36f8ab46604b0034b6abf512380447a5763c873db6a72b8547f660053de0ea69faef1eb64878f39ff4b0ea86c963efab95764a3bf5b.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_cbcf6c279ac6c6a25ae138bf964e64a5fd90d22dcdf8a53b6fe7b72cefa51063bfb0181a6e50dd2acdcae2795619887d1d83b10461e44e5103be756f2588d837.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_47965bc586b95810c925b9df3314e0c9a5cd121e70ca0831f87df0bc034695de4f83ecf2def86f737e14614ee138794473cf32cd3082a5d38db9dec0c1f266fa.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_12aa201cea075846d266536aa222d64d4088b851d87f55dac5e611b77add6826c8ebc6e82650fcd1a9e88a05a0072dedd195719c5f64cd4580a0acd8aee05d92.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_eaa93529c38925eb07368c361382956fbd910b5106b8589fa7e2e15a59c46437de3698d50ec4754bc45e6dfac47b3f41cc4c6112d7ede071ca8950385d4987dc.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_0bedb020a4c2a9f4c3d78ff61b67d081e023455d868eb21c863d26d19e5cac287d0c985a1efaf3eb057c706a5dd33cf7cc36ebc749c6d7ec54f52958eaf2f8c9.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_d87ea86dd0e7ecdd5fe7a5bb67becf943e57c3add866b456034d51663d099031bd563e12f61fdccc044969adf938a8584ed22ccd401ab8b669e20e4f92fb54e8.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_35311c3d71a3605fad4e1d6b50f3911311cdcc46418bdf56d6d0308a75a69585269ee7582a335e29989adf308fa1a81a10a2c2d4e257e9d680447a4996f6269e.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f4fc182ef03c12e9dcadd6febc3dbaa4a29134469057ca9e8ec0be2f2de29a494514ff4b59798e74debf26f78b2df2b3e2665c69b77035761fb463b783202915.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_85c0f2769456e60153b0fd8364b82a035da53384f62de342d9bdca806f3f1ea56486919a00497a18d457949c82bf8bfacc4423fc332074ddf71a49a8fe628fff.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_67f99bef3678c549a14b5f2ff790cce6aba338dca29020755444231b45fa0f980f795e3658496ba70739a099b47b22bc2eab564343ac6132309de3adbbae3455.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_09eecfdd96206ed13830b4b93cfb2cc75cd38083671a34194437b5734b5bb38712209dc335b07e3266ceb3c3a44a155b9bbe5f3e0e1105b19dd45d3def76f020.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_4c089fbdb88e3b624a6f884d3ba1bf606f003bfcd3742376d0d353cd62181dc663aa3811a56361c3100de488fc4d6595a50de2b26f058921ba74f5f2c1b5be00.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_897ff6ac314c5f5e0f496c6af624bd9abf296a02cb5aeb850b9220b6dc3ce2fc4004cb02ed8b59d59d4b9c9d90f050d6eebc1d08ecaebab2f671f7d9367e6410.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_67d1e619e71d36ae00ddcf85ee18628bb4eb64fcb3d6119b463e75cb987013420a21136d19cd03e6634ccc01cfa9af4a357930e4cf6900953b7812efb4f249fb.js