Кнопка WPF с изображением круга - PullRequest
1 голос
/ 12 октября 2010

У меня есть цветной круг в .png, остальное прозрачно. Я могу разместить это изображение на кнопке, но остальная часть стиля кнопки видна на прозрачной части изображения. Как я могу скрыть это в обычном режиме при наведении мыши и нажатии?

Ответы [ 3 ]

4 голосов
/ 12 октября 2010

Попробуйте этот стиль

    <Style x:Key="EmptyButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Background" Value="#00000000"/>
        <Setter Property="BorderBrush" Value="#00000000"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="Padding" Value="1"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <ContentPresenter 
                        HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
                        Margin="{TemplateBinding Padding}" 
                        RecognizesAccessKey="True" 
                        SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" 
                        VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

И использовать его следующим образом

    <Button Style="{DynamicResource EmptyButtonStyle}">
        <Image Source="/Assets/circle.png" />
    </Button>
0 голосов
/ 13 октября 2010

В итоге я использовал самое простое для меня решение (возможно, не самое элегантное).

<Image x:Name="nextImage" MouseDown="nextButton_Click"></Image>
0 голосов
/ 12 октября 2010

Звучит так, как будто вы используете шаблон существующей кнопки и просто добавляете к нему изображение. Вам нужно изменить саму кнопку <Template>, чтобы она использовала ваше изображение вместо шаблона по умолчанию.

Если вы выполните поиск в Google, например, «Шаблон WPF» или «Круглая кнопка WPF», вы, вероятно, найдете несколько хороших примеров.

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