Я думаю, что в основном все сводится к повторному использованию стилей и общей организации проекта.
Если это стиль, вы собираетесь повторно использовать множество различных элементов в элементе управления (например, кисти) или даже во многихразличные элементы управления в вашем проекте, очевидно, вы захотите использовать его в своем собственном ресурсе.Для лучшей организации вы, вероятно, даже захотите поместить эти общие стили в их собственный файл словаря ресурсов и использовать MergedDictionaries , чтобы использовать их для различных элементов управления.На самом деле вы можете создавать довольно полезные каскадные эффекты между различными стилями, используя также атрибут BasedOn
.
Когда дело доходит до «одноразовой» функции определенного элемента, я думаю, что хорошо сохранять стильатрибуты непосредственно на элементе.Если его не нужно использовать совместно, а стиль уникален для одного элемента (определенного элемента Border, Margin и т. Д.), Гораздо проще и удобнее читать его непосредственно на элементе.