15,746,108 members
Sign in
Sign in
Email
Password
Forgot your password?
Sign in with
home
articles
Browse Topics
>
Latest Articles
Top Articles
Posting/Update Guidelines
Article Help Forum
Submit an article or tip
Import GitHub Project
Import your Blog
quick answers
Q&A
Ask a Question
View Unanswered Questions
View All Questions
View C# questions
View Javascript questions
View C++ questions
View Python questions
View Java questions
discussions
forums
CodeProject.AI Server
All Message Boards...
Application Lifecycle
>
Running a Business
Sales / Marketing
Collaboration / Beta Testing
Work Issues
Design and Architecture
Artificial Intelligence
ASP.NET
JavaScript
Internet of Things
C / C++ / MFC
>
ATL / WTL / STL
Managed C++/CLI
C#
Free Tools
Objective-C and Swift
Database
Hardware & Devices
>
System Admin
Hosting and Servers
Java
Linux Programming
Python
.NET (Core and Framework)
Android
iOS
Mobile
WPF
Visual Basic
Web Development
Site Bugs / Suggestions
Spam and Abuse Watch
features
features
Competitions
News
The Insider Newsletter
The Daily Build Newsletter
Newsletter archive
Surveys
CodeProject Stuff
community
lounge
Who's Who
Most Valuable Professionals
The Lounge
The CodeProject Blog
Where I Am: Member Photos
The Insider News
The Weird & The Wonderful
help
?
What is 'CodeProject'?
General FAQ
Ask a Question
Bugs and Suggestions
Article Help Forum
About Us
Search within:
Articles
Quick Answers
Messages
Artificial Intelligence
Artificial Intelligence
Neural Networks
Machine Learning
Deep Learning
ML.Net
Big Data
Data Science
Tensorflow
ChatGPT
Internet of Things
Internet of Things
Arduino
Edge Device
Raspberry-Pi
Wearables
IoT Edge
Industrial IoT
DevOps
DevOps
Agile
Automation
Continuous Build
Continuous Delivery
Continuous Deployment
Continuous Integration
Deployment
Git
Installation
Integration Testing
Load Testing
Quality Assurance
TFS
Unit Testing
Testing
Containers
Containers
Docker
Kubernetes
Virtual Machine
High Performance Computing
High Performance Computing
GPU
Parallel Processing
Parallelization
Vectorization
Hosted Services
Hosted Services
AWS
Cordova
ExtJS
Google Cloud
Microservices
PhoneGap
Serverless
Storage
Web Hosting
WordPress
Azure
Security
Security
Blockchain
Cryptography
Encryption
Identity
Identity Server
Web Development
Web Development
Blazor
CSS3
Flask
HTML5
Kestrel
LESS
Nginx
Node.js
React
SCSS
Spring
Vue.js
ASP.NET
CSS
Apache
HTML
IIS
XHTML
Mobile Apps
Mobile Apps
Flutter
Ionic
iOS
Nativescript
React Native
Xamarin
Windows Mobile
Android
Desktop Programming
Desktop Programming
Cocoa
Electron
QT
Universal Windows Platform
X11
Windows Forms
ATL
MFC
Swing
Win32
WTL
WPF
XAML
System
Database Development
Database Development
Data Visualization
Elasticsearch
Lucene
MariaDB
MongoDB
NoSQL
PostgreSQL
Redis
MySQL
SQL Server
Productivity Apps and Services
Productivity Apps and Services
LibreOffice
OpenOffice
Sharepoint
Team Communication Tools
Biztalk
Microsoft Office
SAP
Game Development
Game Development
Doom
Kinect
Playstation 4
Playstation 5
Unity
Unreal
XBox
Multimedia
Multimedia
Audio
Image Processing
Video
Audio Video
DirectX
GDI
GDI+
OpenGL
General Programming
General Programming
Algorithms
Compression
Computational Geometry
Emulation
Exceptions
File
Internet
Localization
Memory Management
Optimization
Parser
Performance
Regular Expressions
Sorting
State Machines
Architecture
Design / Graphics
Printing
String
Threads
Usability
Programming Languages
Programming Languages
ASM
Bash
Basic
COBOL
Dart
Go
Haskell
Kotlin
Lua
Pascal
R
Razor
Rust
Scala
Swift
Typescript
Objective C
Visual Basic
VBScript
C++
C#
F#
FORTRAN
Java
Javascript
Perl
Python
Ruby
SQL
PHP
PowerShell
XML
Articles by Philipp Sumi (Articles: 10, Technical Blogs: 2)
Articles: 10, Technical Blogs: 2
Articles
Technical Blogs
Tips and Tricks
Reference Articles
Projects
Average article rating: 4.79
Desktop Programming
WPF
A Versatile TreeView for WPF
31 Jan 2008 Updated:
7 Feb 2008
Rating: 4.95/5 Votes: 107 Popularity: 9.95
Licence: CPOL Views: 620,522
Bookmarked: 302
Downloaded: 18,490
Please
Sign up or sign in
to vote.
A strongly typed enhancement of the regular WPF TreeView control.
Organizing Heterogeneous Data on a WPF TreeView
14 May 2009 Updated:
14 May 2009
Rating: 4.93/5 Votes: 16 Popularity: 5.94
Licence: CPOL Views: 87,765
Bookmarked: 31
Downloaded: 0
Please
Sign up or sign in
to vote.
Converter-based solution to render and organize heterogeneous data through WPF's built-in TreeView control
Quick and Dirty (but nice!) ToolTips via Markup Extensions
14 May 2009 Updated:
15 May 2009
Rating: 4.82/5 Votes: 7 Popularity: 4.07
Licence: CPOL Views: 29,283
Bookmarked: 43
Downloaded: 0
Please
Sign up or sign in
to vote.
Discusses the implementation of a MarkupExtension that displays a rich ToolTip
WPF NotifyIcon
16 May 2009 Updated:
23 Nov 2013
Rating: 4.98/5 Votes: 481 Popularity: 13.33
Licence: CPOL Views: 1,676,567
Bookmarked: 702
Downloaded: 48,153
Please
Sign up or sign in
to vote.
A NotifyIcon for WPF that leverages several features of the platform
Programming Languages
C#
From Lambda Dependencies to Lambda Bindings
14 May 2009 Updated:
14 May 2009
Rating: 4.74/5 Votes: 13 Popularity: 5.28
Licence: CPOL Views: 33,201
Bookmarked: 34
Downloaded: 0
Please
Sign up or sign in
to vote.
Lamba bindings allow you to perform object-to-object data binding using simple LINQ expressions.
A Façade for Simple and Framework-Independent Logging in .NET
14 May 2009 Updated:
2 Dec 2009
Rating: 4.90/5 Votes: 14 Popularity: 5.28
Licence: CPOL Views: 88,666
Bookmarked: 44
Downloaded: 306
Please
Sign up or sign in
to vote.
Logging is an important aspect of every application, but you probably don't like to have dependencies on a specific logging framework all over the place. This logging façade provides you with a common interface that decouples the logging framework of your choice from your code.
String Encryption using DPAPI and Extension Methods
14 May 2009 Updated:
15 May 2009
Rating: 4.00/5 Votes: 7 Popularity: 3.38
Licence: CPOL Views: 46,904
Bookmarked: 15
Downloaded: 0
Please
Sign up or sign in
to vote.
Extension methods that encrypt / decrypt strings through the Windows Data Protection API (DPAPI) with optional usage of secure strings that protect data in memory
Web Development
ASP.NET
MasterPages reinvented - a Component Based Template Engine for ASP.NET
1 Sep 2004 Updated:
27 Apr 2005
Rating: 4.83/5 Votes: 124 Popularity: 10.02
Licence: CPOL Views: 938,316
Bookmarked: 266
Downloaded: 4,171
Please
Sign up or sign in
to vote.
User-friendly but powerful template engine which provides clean and painless separation of content and MasterPages (templates).
ASP.NET Cross-Browser Toolbar
1 Feb 2005 Updated:
28 Mar 2005
Rating: 4.86/5 Votes: 53 Popularity: 8.21
Licence: CPOL Views: 259,631
Bookmarked: 192
Downloaded: 4,218
Please
Sign up or sign in
to vote.
A flexible cross-browser ToolBar component with rich designer support. Supports arbitrary toolbar items, JavaScript rollover images, disabled items, and provides convenient postback event handling.
Email Templates: A generic solution to handle template files
4 Nov 2004 Updated:
4 Nov 2004
Rating: 4.91/5 Votes: 44 Popularity: 7.92
Licence: CPOL Views: 170,103
Bookmarked: 133
Downloaded: 1,325
Please
Sign up or sign in
to vote.
A simple, user-friendly and flexible framework that takes care of all your email template files - once and for all.
Average blogs rating: 4.79
Desktop Programming
WPF
Quick and Dirty (But Nice!) ToolTips – Revisited and Interactive [Technical Blog]
12 Nov 2013 Updated:
21 Nov 2013
Rating: 5.00/5 Votes: 3 Popularity: 2.39
Licence: CPOL Views: 10,140
Bookmarked: 5
Downloaded: 0
Please
Sign up or sign in
to vote.
Here are some quick and dirty tooltips - revisited and interactive
Programming Languages
C#
Lightweight Task Scheduling for .NET / Silverlight [Technical Blog]
8 Feb 2010 Updated:
13 Feb 2010
Rating: 4.57/5 Votes: 9 Popularity: 4.36
Licence: Ms-PL Views: 22,510
Bookmarked: 34
Downloaded: 270
Please
Sign up or sign in
to vote.
A lightweight task scheduling library that allows you to easily schedule the invocation of callback methods at specified times or intervals. Supports .NET 3.5 and Silverlight.
Average tips rating:
No tips have been posted.
Average reference rating:
No reference articles have been posted.
Average project rating:
No projects have been posted.
Philipp Sumi
Architect
I'm a gun for hire
Switzerland
Philipp is an independent software engineer with great love for all things .NET.
He lives in Winterthur, Switzerland and his home on the web is at
http://www.hardcodet.net
.