Как я могу указать привязки для Command и CommandParameter в стиле?

У меня есть несколько кнопок, как это

<Button Content="A" 
        Command="{Binding ClickCommand}" 
        CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}, 
                                   Path=Content}" />

где Content свойство Button передается как CommandParameter, Одна команда в ViewModel обрабатывает все кнопки и "знает, что делать" на основе этого параметра (например, приложение типа панели управления / клавиатуры).

Это делает много повторяющихся XAML. Как я могу поместить этот повторяющийся код в базовый стиль для кнопки?

1 ответ

Решение

Я полагаю, что это не поддерживается для Silverlight в WP7, так же, как это не поддерживалось в Silverlight на основе браузера до SL4 (см. Следующий обходной путь). Вы можете сделать одно из следующего:

  1. Создайте пользовательский элемент управления, который инкапсулирует кнопку с привязками, указанными в вашем вопросе.
  2. Подкласс Button, и создайте свои привязки в коде C# вашего подкласса.

Лично я бы пошел на (2). Это означает, что вы все еще можете стилизовать свои кнопки обычным способом.

Другие вопросы по тегам