Avalonia TextBox 當滑鼠移動到 TextBox 上時 如何停用背景色改變
Avalonia TextBox 當滑鼠移動到 TextBox 上時 如何停用背景色改變
資料來源: chatgpt + 自己
Code
<Window xmlns="https://github.com/avaloniaui" 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" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" xmlns:local="clr-namespace:VPOS_Avalonia" x:Class="VPOS_Avalonia.Login" xmlns:vm="using:VPOS_Avalonia.ViewModels" x:DataType="vm:LoginViewModel" Title="VPOS" Loaded="Login_Loaded"> <!-- ViewModels 使用步驟: ▲[固定語法(寫在axaml)] xmlns:vm="using:VPOS_Avalonia.ViewModels" ▲[對應語法(寫在axaml)] x:DataType="vm:LoginViewModel" ▲[對應語法(寫在axaml)] <Design.DataContext> ▲[對應語法(寫在cs)] DataContext = new LoginViewModel();//建構子函數中資源檔載入[InitializeComponent();]前必須指定ViewModel --> <Design.DataContext> <vm:LoginViewModel/> </Design.DataContext> <Window.Styles> <Style Selector="TextBox"> <Style.Setters> <!-- 禁用背景色的变化 : Avalonia Textbox 當滑鼠移動到 Textbox 上時 如何停用被景色改變--> <Setter Property="Background" Value="White"/> <Setter Property="BorderBrush" Value="Black"/> </Style.Setters> </Style> </Window.Styles> <Grid x:Name="FullGrid" RowDefinitions ="45,6.4*,0.6*" ColumnDefinitions="*,*" Background="#194a6e" Margin="5,5,5,5"> <local:BaseButton x:Name="Close" Grid.Row="0" Grid.Column="1" TextSize="30" Text="X" TextColor="White" BackgroundColor="#194a6e" BorderColor="#194a6e" Width="45" Height="45" HorizontalAlignment="Right" VerticalAlignment="Top" ExternalClicked="Close_Clicked"/> <Grid x:Name="LeftGrid" Grid.Row="1" Grid.Column="0" Margin="13,10,13,21"> <Border BorderBrush="White" BorderThickness="1" CornerRadius="10" > <ListBox x:Name="lvUser" SelectionMode="Single" ItemsSource="{Binding Items}" Background="White" SelectionChanged="lvUser_ItemSelected"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" Spacing="10" Margin="5"> <Image Source="{Binding ImageSource,Mode=TwoWay}" Width="50" Height="50" Margin="5" PointerPressed="Image_PointerPressed"/> <TextBlock Text="{Binding user_account,Mode=TwoWay}" FontSize="35" VerticalAlignment="Center" Margin="5"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Border> </Grid> <Grid x:Name="RightGrid" Grid.Row="1" Grid.Column="1" RowDefinitions ="1*,4*" Margin="13,10,13,21"> <Border Grid.Row="0" BorderBrush="White" BorderThickness="1" CornerRadius="10" Margin="0,0,0,15"> <Grid RowDefinitions ="*,*"> <TextBlock x:Name="labUserName" Grid.Row="0" Text="" FontSize="35" VerticalAlignment="Center" Foreground="White" Margin="20,5"/> <TextBox x:Name="txtPassword" Grid.Row="1" PasswordChar="●" FontSize="40" Background="LightBlue" VerticalContentAlignment="Center" Watermark="Enter password" Margin="20,5" TextChanged ="txtPassword_TextChanged"/> </Grid> </Border> <Border Grid.Row="1" BorderBrush="White" BorderThickness="1" CornerRadius="10" Margin="0,5,0,0"> <Grid RowDefinitions ="*,*,*,*" ColumnDefinitions="*,*,*,*"> <local:BaseButton x:Name="Num01" Grid.Row="0" Grid.Column="0" Margin="10,10,10,10" TextSize="30" Text="1" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="NumberBtn_Clicked"/> <local:BaseButton x:Name="Num02" Grid.Row="0" Grid.Column="1" Margin="10,10,10,10" TextSize="30" Text="2" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="NumberBtn_Clicked"/> <local:BaseButton x:Name="Num03" Grid.Row="0" Grid.Column="2" Margin="10,10,10,10" TextSize="30" Text="3" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="NumberBtn_Clicked"/> <Grid Grid.Row="0" Grid.Column="3" Grid.RowSpan="3" RowDefinitions ="*,*"> <local:BaseButton x:Name="BtnC" Grid.Row="0" Margin="10,10,10,10" TextSize="30" Text="C" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="BtnClear_Clicked"/> <local:BaseButton x:Name="BtnDel" Grid.Row="1" Margin="10,10,10,10" TextSize="30" Text="Del" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="BtnDelete_Clicked"/> </Grid> <local:BaseButton x:Name="Num04" Grid.Row="1" Grid.Column="0" Margin="10,10,10,10" TextSize="30" Text="4" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="NumberBtn_Clicked"/> <local:BaseButton x:Name="Num05" Grid.Row="1" Grid.Column="1" Margin="10,10,10,10" TextSize="30" Text="5" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="NumberBtn_Clicked"/> <local:BaseButton x:Name="Num06" Grid.Row="1" Grid.Column="2" Margin="10,10,10,10" TextSize="30" Text="6" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="NumberBtn_Clicked"/> <local:BaseButton x:Name="Num07" Grid.Row="2" Grid.Column="0" Margin="10,10,10,10" TextSize="30" Text="7" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="NumberBtn_Clicked"/> <local:BaseButton x:Name="Num08" Grid.Row="2" Grid.Column="1" Margin="10,10,10,10" TextSize="30" Text="8" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="NumberBtn_Clicked"/> <local:BaseButton x:Name="Num09" Grid.Row="2" Grid.Column="2" Margin="10,10,10,10" TextSize="30" Text="9" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="NumberBtn_Clicked"/> <Grid Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="4" ColumnDefinitions ="*,*"> <local:BaseButton x:Name="Num00" Grid.Column="0" Margin="10,10,10,10" TextSize="30" Text="0" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="NumberBtn_Clicked"/> <local:BaseButton x:Name="BtnLogin" Grid.Column="1" Margin="10,10,10,10" TextSize="30" Text="登入" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ExternalClicked="BtnEnter_Clicked"/> </Grid> </Grid> </Border> </Grid> <Grid x:Name="EndGrid" Grid.Row="2" Grid.Column="0" Margin="20,5,20,15" ColumnDefinitions ="*,*" > <local:ImageButton x:Name="ResetBtn" Grid.Row="0" Grid.Column="0" TextSize="30" Text="重新開機" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" ImageSource="/Assets/reset.png" Width="200" VerticalAlignment="Stretch" ExternalClicked="ResetBtn_Clicked"/> <local:ImageButton x:Name="ShutdownBtn" Grid.Row="0" Grid.Column="1" TextSize="30" Text="關 機" TextColor="White" BackgroundColor="#194a6e" BorderColor="White" ImageSource="/Assets/shutdown.png" Width="200" VerticalAlignment="Stretch" ExternalClicked="ShutdownBtn_Clicked"/> </Grid> </Grid> </Window>