Как отключить синюю кнопку при наведении курсора на нее в XAML / VB? - PullRequest
0 голосов
/ 27 марта 2020

Я создал форму входа в Visual Studio Blend. Однако кнопка, которую я использовал, будет go синей, когда вы наводите на нее курсор. Есть ли что-нибудь, чтобы остановить это, так как это действительно беспокоит меня. После поиска об этом возникли некоторые решения, однако, будучи новичком в этом, я не совсем понял их. Поэтому я ищу простое и простое решение. Мой код XAML, если это поможет:

<Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:NEA"
        mc:Ignorable="d"
        Title="Log In" Height="297" Width="345">
    <Grid Background="#FF403939" Height="267" VerticalAlignment="Top" HorizontalAlignment="Left" Width="337">
        <TextBox x:Name="txtUserName" HorizontalAlignment="Left" Height="26.774" Margin="8.778,48.444,0,0" TextWrapping="Wrap" Text="Username" VerticalAlignment="Top" Width="317.529" BorderBrush="White" Background="#FF4D4B4B" Foreground="White"/>
        <TextBox x:Name="txtPassword" HorizontalAlignment="Left" Height="26.774" Margin="8.778,88.604,0,0" TextWrapping="Wrap" Text="Password" VerticalAlignment="Top" Width="317.529" BorderBrush="White" Background="#FF4D4B4B" Foreground="White"/>
        <CheckBox x:Name="chkRememberMe" Content="Remember Me" HorizontalAlignment="Left" Margin="19.778,137.399,0,0" VerticalAlignment="Top" Foreground="White" Background="#FF726969"/>
        <Border x:Name="bor1" BorderBrush="White" BorderThickness="1" Height="41" Margin="8.778,174.864,0,0"  CornerRadius="15" Background="#FF499E3C" HorizontalAlignment="Left" Width="317.529" VerticalAlignment="Top">
            <Button x:Name="btnLogIn" Content="Log In" BorderBrush="#00707070" ClipToBounds="True" Background="#01F4F7FC" Foreground="White" HorizontalAlignment="Left" Width="297.529" Height="41" VerticalAlignment="Top" Margin="9,-1,0,-1" >

            </Button> 
        </Border>

        <Button x:Name="btnForgot" Content="Forgotten Password" HorizontalAlignment="Left" Height="24.601" Margin="186,132.079,0,0" VerticalAlignment="Top" Width="124" Background="#00DDDDDD" Foreground="#FF00C5FF" BorderBrush="#00707070"/>
        <Label Content="Sign In" HorizontalAlignment="Left" Height="35.444" Margin="8.778,8,0,0" VerticalAlignment="Top" Width="77.222" Foreground="White" FontSize="18"/>
        <Label Content="Don't have an account?" HorizontalAlignment="Left" Height="31" Margin="63.35,233,0,0" VerticalAlignment="Top" Width="147.65" Foreground="#FFA09D9D"/>
        <Button x:Name="btnSignUp" Content="Sign Up" HorizontalAlignment="Left" Height="22" Margin="186,234.98,0,0" VerticalAlignment="Top" Width="75.572" Background="#00DDDDDD" BorderBrush="#00707070" Foreground="#FFC3C0C0" FontWeight="Bold"/>

    </Grid>
</Window>

1 Ответ

0 голосов
/ 28 марта 2020

Основной ответ c состоит в том, чтобы отредактировать шаблон для кнопки и изменить цвет фона, установленный в триггере, который использует свойство IsMouseOver. Полагаю, вы обнаружите, что этот триггер устанавливает фон "#FFBEE6FD", который имеет светло-синий цвет.

Чтобы отредактировать шаблон кнопки, на панели" Структура документа "щелкните правой кнопкой мыши по кнопке и выберите Редактировать шаблон> Редактировать копию . При этом для кнопки будет вставлено значение по умолчанию ControlTemplate. Внизу находится триггер, связанный со свойством IsMouseOver. Ниже находится установщик для фона, в котором можно изменить цвет. если вы предпочитаете или, удалите сеттер, и фон больше не изменится.

Если вы щелкнете правой кнопкой мыши в соответствии с приведенным выше описанием для редактирования шаблона, VS автоматически вставит строку Template= "your template name" для кнопки. Вы можете использовать эта же строка для других кнопок для достижения того же результата. Или вы можете создать стиль кнопки и предоставить установщик, который назначит этот шаблон. Затем используйте этот стиль для каждой кнопки, для которой вы хотите получить такой же результат.

...