Summary

RegExpress is a WPF application that combines interactive demos of regular expressions with slide content. This was designed for a user group presentation to minimise switching between slides and technical demos. Other potential uses would be regex prototyping and testing.

Background

RegExpress was originally developed to demonstrate regular expressions in a presentation to the Wellington .NET User Group. Drawing inspiration from Bea Stollnitz's presentations on WPF features (as explained in her blog post here), RegExpress integrates the slide content from this presentation with the technical demos. The key advantage of this is the minimisation of the need to switch between the slides and IDE as separate applications.

Because the demos are integrated in the slides, the presentation allows a greater degree of interactivity - other test cases are able to be easily demonstrated outside those that were 'part of the script'.

The solution is also flexible enough that it can be used for prototyping and testing regular expressions for other applications, whether validating input, extracting data or performing search & replace.

Technical Features

  • Implemented using Windows Presentation Foundation (WPF) and the Model-View-ViewModel (MVVM) pattern
  • Slides are defined in an XML file that is loaded at run-time
  • Each slide type may potentially use several different slide templates, e.g. ImageSlide has two templates: DiagramPage and ImagePage
  • Restarting the application displays the slide that was previously displayed
  • Captured groups are able to be listed by both numerical and string indices
  • Regular expressions can be configured to be case-insensitive, whitespace-insensitive, etc.
  • Keyboard commands are defined in the ViewModel and operate on a hierarchical basis according to control context
  • Data binding to a ViewModel works from inside pages, not just the window hosting the navigation frame.

Last edited Mar 8, 2010 at 9:32 AM by DanielMcG, version 3