В зависимости от того, сколько XAML вы хотите, вам нужно либо создать пользовательский UserControl, который наследуется от Button, с DependencyProperty для фона.
Или вы можете указать ImageBrush для свойства Background и использовать его вместе со свойством Content в своем собственном стиле. Подход ImageBrush потребует около 3-4 строк XAML на кнопку.
И я бы не рекомендовал создавать какие-либо элементы управления пользовательским интерфейсом из C #, поскольку вы можете делать все, что хотите, используя привязки данных. Если вы пытаетесь визуализировать пользовательские кнопки внутри списка со специальным фоном, простая работа с привязкой данных должна выполняться просто отлично, вместо создания каких-либо пользовательских элементов управления или стилей.
Не стесняйтесь уточнить (с кодом!), Что вы пытаетесь сделать сейчас.