Согласен, тут есть некоторая оригинальность :) Насколько я помню в изначальном варианте внутри else что-то было, потом, это что-то выкинулось, а else осталось. Код копировался из проекта, который находится в стадии разработки, и если честно на чистоту особо на просматривался.
На самом деле тут есть некоторая специфика, и её очень легко понять когда сталкиваешся с вышеописанной проблемой. Если честно, я не знаю сколько читателей хабра сталкивались с ней, но когда я искал её решение, то масса форумов было заполненно вопросами почему МС такой злой, и как это обойти, а ответов небыло. Вот решил самостоятельно.
Я не спорю. Сам встречал проблемы при разработке чего-либо, когда проблема явная, а в интернете либо ничего нет, либо что-то есть но решение проблемы описанно на китайском или японском на соответствующем формуе… :-(
В нашем проекте небыло смысла строить собственную предметную модель для создания графического контента, потому, что все наши потребности(и даже более) покрыты всем, что унаследованно от UIElement. Возникает вопрос, зачем городить огород, строить собственную объектную модель, которая будет повторять то, что уже существует. Мы просто использовали встроенную в WPF функциональность.
XamlWriter и Bindings