Возможна ли повторная установка элемента управления Button с пользовательскими свойствами? - PullRequest
0 голосов
/ 22 января 2010

Я сделал себе стиль TransparentButton, который заставляет часть Button вести себя так, как я хочу (наведение мыши, включение и т. Д.), Но я не смог правильно настроить содержимое в стиль. В настоящее время я вручную устанавливаю все значения в <Button.Content> для каждой кнопки, и ясно, что все это должно быть в Style. Я установил ContentTemplate для стиля на StackPanel, который просто содержит Image и Label. Проблема в том, что я не знаю, как указать в моей <Button ...> разметке текст Label и источник Image. Я подумал, что это как-то связано с TemplateBinding, но я искал как сумасшедший и не могу найти информацию.

Итак, в общем, я просто хочу согласованный стиль кнопки, где содержимое кнопки - это просто StackPanel из Image и Label, и я хочу иметь возможность создать его в своем графическом интерфейсе с помощью просто как:

<Button Style={DynamicResource TransparentButton}"
        Label="Click Me" Image="Images/MyImage.png" />

Любые советы приветствуются! Я надеюсь, что я на правильном пути ...

1 Ответ

1 голос
/ 22 января 2010

Чтобы создать такие пользовательские свойства, как этот, вам нужно создать CustomControl, а не просто использовать стиль Button.

Это довольно просто - просто создайте пользовательский элемент управления, который подклассит кнопку, и добавит ваши новые свойства (как свойства зависимостей). Это сделает его доступным для стилизации, но также предоставит вам возможность обеспечить, чтобы эти свойства всегда были доступны с описанным вами синтаксисом (кроме изменения <Button на <local:MyButton).

Подробнее см. Обзор авторизации управления в MSDN.

...