фоновое изображение кнопки wpf - PullRequest
3 голосов
/ 04 ноября 2010

У меня есть страница wpf с 5 кнопками. Все 5 кнопок должны быть одинакового размера и иметь одинаковое фоновое изображение. Как это сделать?

С уважением, Карн

1 Ответ

7 голосов
/ 04 ноября 2010

Используйте стиль. Это автоматически применяется к всем кнопкам в окне:

<Window.Resources>
    <Style TargetType="Button">
        <Setter Property="Width" Value="100" />
        <Setter Property="Height" Value="100" />
        <Setter Property="Background">
            <Setter.Value>
                <ImageBrush ImageSource="ButtonBg.png" />
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>

Устанавливает ширину, высоту и фон по умолчанию для всех кнопок. Предполагается, что в вашем проекте скомпилировано растровое изображение ButtonBg.png - это фоновое изображение.

Если вы хотите применить этот стиль только к определенным кнопкам, измените первую строку следующим образом:

<Style x:Key="imgBtnStyle" TargetType="Button">

И затем кнопки, к которым вы хотите применить этот стиль, должны будут ссылаться на этот стиль:

<Button Style="{StaticResource imgBtnStyle}" ... />

Обратите внимание, что при перетаскивании изображения на поверхность конструктора в Visual Studio 2010 оно устанавливает ширину и высоту. Это заменит стиль. Вам нужно удалить ширину и высоту из самих элементов кнопки, чтобы стиль мог управлять этими свойствами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...