После сильных царапин на голове (и достаточного количества криков на экране) я обнаружил проблему.
Оказывается, что при идентификации пространства имен не должно быть сборки.
Я определял это так
xmlns:local="clr-namespace:Widget;assembly=Widget"
... Но это должно было быть просто так
xmlns:local="clr-namespace:Widget"