Как сделать кнопку silverlight прозрачной при отображении изображения? - PullRequest
3 голосов
/ 16 марта 2010

У меня есть кнопка, которая создается программно, ее содержимое представляет собой панель стека с изображением и текстовым блоком. Все это прекрасно работает.

Я хочу сделать кнопку позади изображения и текста прозрачной, чтобы изображение и текст выглядели так, как будто они находятся на заднем плане, но при этом сохраняют все свойства кнопки (т. Е. Кто-то нажимает на область кнопки, которую он все еще регистрирует событие нажатия кнопки).

Я играл с непрозрачностью, но каждая непрозрачность, с которой я играю, имея дело с кнопкой, похоже, устанавливает целую кнопку (включая изображение и текст) в это значение непрозрачности.

Как сделать кнопку непрозрачной, при этом текст и изображение остаются видимыми?

О, это Silverlight 3. Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 16 марта 2010

Вам нужно будет создать шаблон кнопки и удалить градиенты, элемент фокуса и т. Д., Которые вы не хотите оставлять в стиле кнопки по умолчанию. Похоже, вы, вероятно, просто хотите сохранить ведущий контента и избавиться от фона и навести курсор мыши на градиенты свечения. Вам, вероятно, придется установить прозрачность фона содержимого StackPanel, если вы хотите, чтобы вся область кнопок перехватывала события мыши, а не только изображение и текстовое содержимое.

Скотт Гу имеет хорошее руководство здесь по основам создания шаблона элемента управления.

Если вы используете Expression Blend, очень легко щелкнуть правой кнопкой мыши по кнопке и выбрать «Редактировать шаблон» -> «Редактировать копию», чтобы скопировать стиль по умолчанию в новый ресурс стиля для кнопки, где вы можете затем манипулировать шаблоном прямо в Смешать.

4 голосов
/ 16 марта 2010

Вы можете переопределить свойство шаблона кнопки, чтобы создать пустую сетку, например:

<Button>
        <Button.Template>
            <ControlTemplate TargetType="Button">
            <Grid />
        </ControlTemplate>
    </Button.Template>
</Button>

При необходимости это может быть стиль многоразового использования.

...