WPF page navigation like in MVC part 2: The MVVMC Framework

In my last post. I talked about navigation techniques in MVVM and how I didn’t like them too much. I also talked about learning Asp.NET Core is and how good the navigation / routing system is in there. So, following the pain, I decided to create a lightweight navigation WPF framework similar to the one in Asp.NET Core. We’re still using MVVM, but adding controllers which makes it MVVMC, Model-View-ViewModel-Controller (This is how the library is called as well).

The Over Designer

Have you ever encountered an over designer? An over designer is a software developer that had some life changing event and became obsessed about architecture. The result being, obsessive decoupling, endless coding of Factories, creating deep (also needless) inheritence hierarchies and various use of design patterns for no good reason. I believe the over deisgner is a mutation in the natural evolution of a software developer. Software Developer’s Evolution Not every software developer reaches to Senior level.

Multi-Thread Timeout challenges in C#

Recently I was dealing with a couple of bugs in C# regarding timeout behavior. The solutions were pretty interesting so I decided to share them. Consider these scenarios: We show a dialog to the user with some message. We close the dialog after 15 seconds. However, if the user closes the dialog manually, we have no need to close it at timeout. Start a long operation. If that operation lasts more than 5 seconds – Abort it.

Reusing UI components in WPF: A case study

In WPF you can do everything in many different ways. It's not always clear what is better. We got many different ways to reuse a UI component, which is better?

Type (of) Design Challenge

A long time ago, on my first programming job I had a design problem that I couldn’t solve. This problem haunted me. The reason was that it seemed so simple, and yet I couldn’t find a good solution for it. Eventually I did a huge refactor, but instead of solving it correctly I simply changed one problem to another. Recently, years later, in a different company, I came up with that great solution I was after.

WPF Merged Dictionary problems and solutions

Provides a tutorial on building a WPF resources hierarchy with Merged Dictionaries. Shows common problems and solutions for that.

Explicit, Implicit and Default styles in WPF

Let’s say we want to change the looks of all buttons in our application. We want them to have a black background and text inside to have white foreground. WPF gives us a Style infrastructure to do just this. But, as often happens with WPF, we can achieve this in many different and confusing ways. Let’s make some order out of the chaos. Solution #1: Explicit styles Explicit style means you’ll have to explicitly write the style for each button.

My first Post

My name is Michael, welcome to my blog. I’m 33, live in Israel, working as a .Net and C++ software developer, interested in everything about programming. I wanted a place to share my bit of knowledge with the community. Keep up with the blog and I hope to get your interest. trigger ga