Наиболее оптимальный способ - вручную прорисовывать шаблон элемента. Той же кнопки, к примеру.
Первая попавшаяся ссылка с вменяемым по размеру примером:
https://professorweb.ru/my/WPF/Template/level17/17...
Общая суть:
Нужно указать параметр Template у объекта, углы которого скруглять вздумали.
Это можно сделать как в примере на странице через ссылку на StaticResource, либо по месту, указав
<Button.Template>
...
</Button.Template>
Сам шаблон описывается элементом
<ControlTemplate TargetType="Button">
. Ну или не Button, а тот элемент, который вы хотите выдать.
Внутри вы можете нарисовать кнопку так, как вам того хочется. Можно
<Rectangle RadiusX="10" RadiusY="10">
, можно
<Border CornerRadius="10">
- на ваше усмотрение. Не забываете добавить
<ContentPresenter>
, чтобы отобразить содержимое кнопки (её текст или любые другие элементы, которые на ней должны размещаться). В реальности вам придётся ещё впоследствии добавить раскраску в зависимости от состояния (активная, курсор наведён, курсор не наведён), и возможно анимацию перехода между этими состояниями!
Чтобы не делать это всё с нуля, часто бывает удобно скопировать стиль по-умолчанию с
сайта майкрософт , а потом перкроить его на свой вкус.
Blend так ни разу и не довелось использовать. Всё-таки мне показалось более удобным работать с чистым кодом. Вся идея бленда заключалась на мой взгляд в том, чтобы посадить за него дизайнера, и чтобы последний выдавал на нём готовые для использования блоки. Программеру он ни к чему.