Neal
Neal
CC#
Created by ElectricSteve on 4/21/2024 in #help
Disabled button Background & Foreground color
If you don't like the rounded corners on the buttons, get rid of CornerRadius="2"
11 replies
CC#
Created by ElectricSteve on 4/21/2024 in #help
Disabled button Background & Foreground color
And here's a button definition... <Button Name="ClearButton" Content="Clear" Click="ClearButton_Click" Style="{DynamicResource CustomButtonStyle}" Height="24"/>
11 replies
CC#
Created by ElectricSteve on 4/21/2024 in #help
Disabled button Background & Foreground color
<Style x:Key="CustomButtonStyle" TargetType="{x:Type Button}"> <Setter Property="Foreground" Value="{StaticResource ForegroundBrush}" /> <Setter Property="Background" Value="{StaticResource ButtonBackgroundBrush}" /> <Setter Property="BorderBrush" Value="Gray" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Border Background="{TemplateBinding Background}" Padding="5,0,5,0" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" CornerRadius="2"> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" /> </Border> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="IsEnabled" Value="True"> <Setter Property="Foreground" Value="{DynamicResource ForegroundBrush}"/> <Setter Property="Background" Value="{DynamicResource ButtonBackgroundBrush}"/> </Trigger> <Trigger Property="IsEnabled" Value="False"> <Setter Property="Foreground" Value="{DynamicResource GrayedForegroundBrush}"/> <Setter Property="Background" Value="{DynamicResource GrayedButtonBackgroundBrush}"/> </Trigger> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="#FFBEE6FD"/> <!-- this is the standard highlight --> </Trigger> </Style.Triggers> </Style> </ResourceDictionary>
11 replies
CC#
Created by ElectricSteve on 4/21/2024 in #help
Disabled button Background & Foreground color
And here's my LightTheme.xaml... <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Color x:Key="BackgroundColor">LightGray</Color> <Color x:Key="EditBackgroundColor">White</Color> <Color x:Key="ButtonBackgroundColor">#FFC3C3C3</Color> <Color x:Key="GrayedButtonBackgroundColor">#FFE3E3E3</Color> <Color x:Key="ForegroundColor">Black</Color> <Color x:Key="GrayedForegroundColor">Gray</Color>
<SolidColorBrush x:Key="BackgroundBrush" Color="{StaticResource BackgroundColor}" /> <SolidColorBrush x:Key="EditBackgroundBrush" Color="{StaticResource EditBackgroundColor}" /> <SolidColorBrush x:Key="ButtonBackgroundBrush" Color="{StaticResource ButtonBackgroundColor}" /> <SolidColorBrush x:Key="GrayedButtonBackgroundBrush" Color="{StaticResource GrayedButtonBackgroundColor}" /> <SolidColorBrush x:Key="ForegroundBrush" Color="{StaticResource ForegroundColor}" /> <SolidColorBrush x:Key="GrayedForegroundBrush" Color="{StaticResource GrayedForegroundColor}" /> <Style x:Key="CustomGridStyle" TargetType="Grid"> <Setter Property="Background" Value="{StaticResource BackgroundBrush}" /> </Style>
<Style x:Key="CustomTextStyle" TargetType="TextBlock"> <Setter Property="Foreground" Value="{StaticResource ForegroundBrush}" /> <Setter Property="Background" Value="{StaticResource BackgroundBrush}" /> </Style>
<Style x:Key="CustomTextBoxStyle" TargetType="TextBox"> <Setter Property="Foreground" Value="{StaticResource ForegroundBrush}" /> <Setter Property="Background" Value="{StaticResource EditBackgroundBrush}" /> <Setter Property="BorderBrush" Value="Black" /> </Style> ...continued on next post...
11 replies
CC#
Created by ElectricSteve on 4/21/2024 in #help
Disabled button Background & Foreground color
<Style x:Key="CustomButtonStyle" TargetType="{x:Type Button}"> <Setter Property="Foreground" Value="{StaticResource ForegroundBrush}" /> <Setter Property="Background" Value="{StaticResource ButtonBackgroundBrush}" /> <Setter Property="BorderBrush" Value="Gray" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Border Background="{TemplateBinding Background}" Padding="5,0,5,0" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" CornerRadius="2"> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" /> </Border> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="IsEnabled" Value="True"> <Setter Property="Foreground" Value="{DynamicResource ForegroundBrush}"/> <Setter Property="Background" Value="{DynamicResource ButtonBackgroundBrush}"/> </Trigger> <Trigger Property="IsEnabled" Value="False"> <Setter Property="Foreground" Value="{DynamicResource GrayedForegroundBrush}"/> <Setter Property="Background" Value="{DynamicResource GrayedButtonBackgroundBrush}"/> </Trigger> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="#FF99B1CC"/> <!-- this is darker than the standard highlight #FFBEE6FD --> </Trigger> </Style.Triggers> </Style> </ResourceDictionary>
11 replies
CC#
Created by ElectricSteve on 4/21/2024 in #help
Disabled button Background & Foreground color
Here's my DarkTheme.xaml... <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Color x:Key="BackgroundColor">#FF323232</Color> <Color x:Key="EditBackgroundColor">#FF282828</Color> <Color x:Key="ButtonBackgroundColor">#FF606060</Color> <Color x:Key="GrayedButtonBackgroundColor">#FF505050</Color> <Color x:Key="ForegroundColor">White</Color> <Color x:Key="GrayedForegroundColor">Gray</Color>
<SolidColorBrush x:Key="BackgroundBrush" Color="{StaticResource BackgroundColor}" /> <SolidColorBrush x:Key="EditBackgroundBrush" Color="{StaticResource EditBackgroundColor}" /> <SolidColorBrush x:Key="ButtonBackgroundBrush" Color="{StaticResource ButtonBackgroundColor}" /> <SolidColorBrush x:Key="GrayedButtonBackgroundBrush" Color="{StaticResource GrayedButtonBackgroundColor}" /> <SolidColorBrush x:Key="ForegroundBrush" Color="{StaticResource ForegroundColor}" /> <SolidColorBrush x:Key="GrayedForegroundBrush" Color="{StaticResource GrayedForegroundColor}" /> <Style x:Key="CustomGridStyle" TargetType="Grid"> <Setter Property="Background" Value="{StaticResource BackgroundBrush}" /> </Style>
<Style x:Key="CustomTextStyle" TargetType="TextBlock"> <Setter Property="Foreground" Value="{StaticResource ForegroundBrush}" /> <Setter Property="Background" Value="{StaticResource BackgroundBrush}" /> </Style>
<Style x:Key="CustomTextBoxStyle" TargetType="TextBox"> <Setter Property="Foreground" Value="{StaticResource ForegroundBrush}" /> <Setter Property="Background" Value="{StaticResource EditBackgroundBrush}" /> <Setter Property="BorderBrush" Value="White" /> </Style> ...continued on next post...
11 replies
CC#
Created by ElectricSteve on 4/21/2024 in #help
Disabled button Background & Foreground color
I've got a reasonable solution for Buttons. Other controls will likely need additional templates. Here's my App.xaml... <Application x:Class="MyApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:MyNamespace" StartupUri="MainWindow.xaml"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="DarkTheme.xaml" /> </ResourceDictionary.MergedDictionaries> <!-- Add more styles for other controls as needed --> </ResourceDictionary> </Application.Resources> </Application> Here's the code to switch themes in MainWindow.xaml.cs... private void LightThemeButton_Click(object sender, RoutedEventArgs e) { Uri lightThemeUri = new Uri("LightTheme.xaml", UriKind.Relative); ((App)Application.Current).ChangeTheme(lightThemeUri); } private void DarkThemeButton_Click(object sender, RoutedEventArgs e) { Uri darkThemeUri = new Uri("DarkTheme.xaml", UriKind.Relative); ((App)Application.Current).ChangeTheme(darkThemeUri); }
11 replies
CC#
Created by ElectricSteve on 4/21/2024 in #help
Disabled button Background & Foreground color
That's just a bare bones attempt, but the biggest hurdle (background color) is fixed. There are issues like: text isn't centered, there's no border, it needs padding on the left and right (to match standard buttons). I'll post an update when everything is working like it should. Update below... ...
11 replies
CC#
Created by ElectricSteve on 4/21/2024 in #help
Disabled button Background & Foreground color
After hours of hunting (I too am on the spectrum), I finally found a solution at https://learn.microsoft.com/en-us/dotnet/api/system.windows.controls.control.background?view=windowsdesktop-9.0 You need to use a button template and a style trigger: <Button Name="Debug" IsEnabled="False" FontSize="10">Click the Background <Button.Template> <ControlTemplate TargetType="{x:Type Button}"> <Border Background="{TemplateBinding Background}"> <ContentPresenter/> </Border> </ControlTemplate> </Button.Template> <Button.Style> <Style TargetType="{x:Type Button}"> <Setter Property="Background" Value="Blue"/> <Style.Triggers> <Trigger Property="IsEnabled" Value="False"> <Setter Property="Background" Value="Green"/> </Trigger> </Style.Triggers> </Style> </Button.Style> </Button>
11 replies