Как я могу указать привязки для 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 (см. Следующий обходной путь). Вы можете сделать одно из следующего:
- Создайте пользовательский элемент управления, который инкапсулирует кнопку с привязками, указанными в вашем вопросе.
- Подкласс Button, и создайте свои привязки в коде C# вашего подкласса.
Лично я бы пошел на (2). Это означает, что вы все еще можете стилизовать свои кнопки обычным способом.