В моем приложении WPF есть несколько мест, где мне нужна кнопка, похожая на обычную кнопку, но:
- На нем отображается определенный значок (определенный как
{StaticResource EditIcon}
)
- Применяется стиль (определенный как
{StaticResource GrayOutButtonStyle}
)
Я бы предпочел определять эти атрибуты в одном месте, а не повторять их в каждом месте, где используется кнопка. Как правильно сделать это в XAML?
-
Если это поможет, то ниже я сейчас делаю, но мне сказали, что это неправильно:
Обновлено: это неправильный путь? Есть ли способ исправить это так, чтобы это был «правильный путь»?
Я определяю кнопку как шаблон с ключом EditButton
:
<ControlTemplate x:Key="EditButton" TargetType="{x:Type Button}">
<Button Style="{StaticResource GrayOutButtonStyle}"
Command="{TemplateBinding Command}">
<Image x:Name="editImage" Source="{StaticResource EditIcon}" />
</Button>
</ControlTemplate>
Затем я объявляю кнопку с шаблоном EditButton в каждом месте, где я хочу использовать его в приложении. Я также указываю Команду для вызова здесь:
<Button Template="{StaticResource EditButton}" Command="..." />
Разве это не правильно? Как правильно это сделать?