Даже с точки зрения Winforms мне не нравится полу-венгерский.
Самым большим недостатком, на мой взгляд, и я написал много пользовательского кода, является то, что венгерский язык делает ошибки более заметными. Компилятор, как правило, подхватит его, если вы попытаетесь изменить проверенное свойство в текстовом поле, но он не получит что-то вроде:
lblSomeThing.Visible = someControlsVisible;
txtWhatThing.Visible = someControlsVisible;
pbSomeThing.Visible = someControlsVisible;
Мне гораздо легче отлаживать:
someThingLabel.Visible = someControlsVisible;
whatThingTextBox.Visible = someControlsVisible;
someThingPictureBox.Visible = someControlsVisible;
Я также думаю, что гораздо лучше сгруппировать addCommentsButton с addCommentsTextBox, чем сгруппировать btnAddComments с btnCloseWindow. Когда вы собираетесь использовать последние два вместе?
Что касается поиска нужного мне элемента управления, я согласен с Филиппом Риком. Я часто хочу иметь дело со всеми элементами управления, которые относятся к определенной логической концепции (например, заголовок или добавить комментарии). Я почти никогда не хочу находить какие-либо или все текстовые поля, которые находятся на этом элементе управления.
Возможно, это не имеет отношения к WPF, но я думаю, что венгерского всегда следует избегать.