.NETpad 2025: Looking Ahead, Feeling a Little Tabby (Premium)

OK, I’m getting ahead of myself here. But it’s impossible not to look past 2024’s .NETpad modernization work. There’s more work to do. The biggest being the long-awaited–but also long-dreaded–tabbed user interface.
Tabs. It was always going to be tab… Continue reading .NETpad 2025: Looking Ahead, Feeling a Little Tabby (Premium)

Modernizing .NETpad: WTF, WPF (Premium)

With .NET Conf 2024 and the release of .NET 9 behind us, I’ve finally had a chance to watch the relevant session videos from the show. And there is unexpectedly at least one other change to WPF’s support for Windows 11 theming, one that addresses a sho… Continue reading Modernizing .NETpad: WTF, WPF (Premium)

Modernizing .NETpad: .NET 9 Arrives with a Few Small Improvements for WPF (Premium)

I was excited to see Microsoft bring the Windows Presentation Foundation (WPF) back from the dead this past year: At Build 2024 back in May, it announced that it would continue investing in this 20-year-old technology, starting with support for Windows… Continue reading Modernizing .NETpad: .NET 9 Arrives with a Few Small Improvements for WPF (Premium)

Modernizing .NETpad Step-By-Step, Part 7: Clean-Up in Aisle WPF (Premium)

In this final phase of this year’s .NETpad modernization project, we’ll clean up the code a bit and make a few minor UI changes.
Why
Even I sometimes forget what the point of this app was originally. But if you go back to the OG version of the app, the… Continue reading Modernizing .NETpad Step-By-Step, Part 7: Clean-Up in Aisle WPF (Premium)

Modernizing .NETpad Step-By-Step, Part 8: Replace and Replace All (Premium)

In the previous article, we created a modern interface for Find/Replace and implemented Find, Find next, and Find previous. This time, we’ll wrap up the Find/Replace work by implementing Replace and Replace all, and migrating all the new Find/Replace c… Continue reading Modernizing .NETpad Step-By-Step, Part 8: Replace and Replace All (Premium)

Modernizing .NETpad Step-By-Step, Part 7: Find, Find Next, and Find Previous (Premium)

In this phase of the .NETpad modernization project, we will implement a Find/Replace interface and its Find-related commands before forging ahead and tackling its Replace-related commands. As I explained recently, we will create the interface in a non-… Continue reading Modernizing .NETpad Step-By-Step, Part 7: Find, Find Next, and Find Previous (Premium)

Modernizing .NETpad: Decision Time on Find/Replace (Premium)

It’s time to take a step back to explain what’s going to happen next: The way that Microsoft implements Find/Replace in Notepad today is non-standard and would be difficult to recreate using WPF. Complicating matters, my original implementation of Find… Continue reading Modernizing .NETpad: Decision Time on Find/Replace (Premium)

Modernizing .NETpad Step-By-Step, Part 6 More Custom Dialogs (Premium)

In the previous installment, we created a custom Content dialog because WPF doesn’t support the native control in Windows. And then we built out our first dialog, Save confirmation, using that as a base. This time, we’ll use it to create more dialogs. … Continue reading Modernizing .NETpad Step-By-Step, Part 6 More Custom Dialogs (Premium)

Modernizing .NETpad Step-By-Step, Part 5: Custom Dialogs (Premium)

If you kept up with my series on modernizing .NETpad this past summer, you know I came full circle on creating custom dialogs for the app. I’m not happy with the custom dialogs I created for the OG WPF version of this app–they look horrible in Windows… Continue reading Modernizing .NETpad Step-By-Step, Part 5: Custom Dialogs (Premium)