рд╕реНрдЯрд╛рдЗрд▓рд┐рд╢ рдЕрд╡рд▓реЛрдирд┐рдпрд╛

рд╢реИрд▓рд┐рдпрд╛рдБ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, wpf рдореЗрдВ, рдЕрд╡рд▓реЛрдирд┐рдпрд╛ рдореЗрдВ, рддрдЯрд╕реНрде рд╣реИрдВ, рдФрд░ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ, рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдФрд░ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред



рд╣рдореЗрдВ рдЕрд╡рд▓реЛрдирд┐рдпрд╛ рдврд╛рдВрдЪреЗ рдореЗрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

  1. рддрддреНрд╡реЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп рд╢реИрд▓рд┐рдпрд╛рдБ рдЕрдзрд┐рдХ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рджреЗрддреА рд╣реИрдВ;
  2. рдЖрдЗрдЯрдо рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдирдХрд▓ рди рдХрд░реЗрдВ;
  3. рдорд╛рд░реНрдХрдЕрдк рдХреЛ рд╕реНрд╡рдпрдВ рдФрд░ рдЙрд╕рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЛ рдЕрд▓рдЧ рдХрд░реЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ


рд╢реИрд▓рд┐рдпреЛрдВ рдХреА рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

рдЧреЛрд▓ рдмрдЯрди (рдПрдХ ubuntu рд╕реВрдХреНрддрд┐ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ)
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдирдХ рдЯреЗрдореНрдкрд▓реЗрдЯ (рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ ) рдкреИрдирд▓ рд╕реНрдЯреИрдХ рдФрд░ рдмрдЯрди рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рд╕реЗ рдПрдХ рд╕рд░рд▓ рд▓реЗрдЖрдЙрдЯ рдмрдирд╛рдПрдВ ред

<StackPanel> <Button Margin = "20" Content = "Btn" /> <Button Margin = "20" Content = "Style Btn" /> </StackPanel> 

рдЕрдм рд╣рдо рдмрдЯрди рдХреЛ рдореБрдЦреНрдп рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рдлрд╝реЙрдиреНрдЯ рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╣рдореЗрдВ рдХреЛрдб рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕реНрдЯрд╛рдЗрд▓ рдЗрд╕ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╢реИрд▓реА рдЬреЛрдбрд╝реЗрдВ:

  <Window.Styles> <Style Selector = "Button"> <Setter Property = "Foreground" Value = "# FFFFFFFF" /> <Setter Property = "BorderThickness" Value = "2" /> <Setter Property = "Background" Value = "# FFDD4812" /> <Setter Property = "BorderBrush" Value = "# FFFFFFFF" /> </Style> </Window.Styles> 



рд╣рдореЗрдВ рдХреБрдЫ рд╕рдорд╛рди рдорд┐рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЧреЛрд▓ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╣рдо рдХреИрд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдмрдЯрди рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЧреЛрд▓ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдмрдЯрди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЧреЛрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдФрд░ рд╢реИрд▓реА рдЬреЛрдбрд╝реЗрдВ:

  <Style Selector = "Button / template / ContentPresenter"> <Setter Property = "CornerRadius" Value = "10" /> </Style> 



рдпрд╣ рд▓рдЧрднрдЧ рд╕рдорд╛рди рдирд┐рдХрд▓рд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдЬрдм рдЖрдк рдмрдЯрди рдкрд░ рдордВрдбрд░рд╛рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЧреНрд░реЗ рдлреНрд░реЗрдо рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ (рдорд╛рдирдХ рд╢реИрд▓реА рд╕реЗ рд╣реИрд▓реЛ)ред



рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, css рдХреА рдУрд░ рдореБрдбрд╝реЗрдВ: рдкреЙрдЗрдВрдЯрд░рдУрд╡рд░ рдЫрджреНрдо рд╡рд░реНрдЧ рдФрд░ рджреВрд╕рд░реА рд╢реИрд▓реА рдЬреЛрдбрд╝реЗрдВ:

  <Style Selector = "Button: pointerover / template / ContentPresenter"> <Setter Property = "BorderBrush" Value = "# FFDD4812" /> </Style> 



рдЗрддрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдореИрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдЯрди рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ?

рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдПрдХ рдФрд░ рдмрдЯрди рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЙрди рдХрдХреНрд╖рд╛рдУрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо "рд╕рдЬрд╛рдиреЗ" рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рддреЗ рд╣реИрдВред

  <StackPanel> <Button Margin = "20" Content = "Btn" /> <Button Margin = "20" Classes = "btn" Content = "Style Btn" /> <Button Margin = "20" Classes = "btn" Content = "Style Btn" /> </StackPanel> 

рдФрд░ рд╣рдо рдЙрди рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  <Style Selector = "Button.btn / template / ContentPresenter"> <Setter Property = "CornerRadius" Value = "10" /> </Style> <Style Selector = "Button.btn"> <Setter Property = "Foreground" Value = "# FFFFFFFF" /> <Setter Property = "BorderThickness" Value = "2" /> <Setter Property = "Background" Value = "# FFDD4812" /> <Setter Property = "BorderBrush" Value = "# FFFFFFFF" /> </Style> <Style Selector = "Button: pointerover.btn / template / ContentPresenter"> <Setter Property = "BorderBrush" Value = "# FFDD4812" /> </Style> 



рд╕рднреА рд╡рд┐рдВрдбреЛ рдХреЛрдб
 <Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:vm="clr-namespace:Wind1.ViewModels;assembly=Wind1" 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" x:Class="Wind1.Views.MainWindow" Icon="/Assets/avalonia-logo.ico" Title="Wind1"> <Window.Styles> <Style Selector="Button.btn /template/ ContentPresenter"> <Setter Property="CornerRadius" Value="10" /> </Style> <Style Selector="Button.btn"> <Setter Property="Foreground" Value="#FFFFFFFF" /> <Setter Property="BorderThickness" Value="2" /> <Setter Property="Background" Value="#FFDD4812" /> <Setter Property="BorderBrush" Value="#FFFFFFFF" /> </Style> <Style Selector="Button:pointerover.btn /template/ ContentPresenter"> <Setter Property="BorderBrush" Value="#FFDD4812" /> </Style> </Window.Styles> <StackPanel> <Button Margin="20" Content="Btn" /> <Button Margin="20" Classes="btn" Content="Style Btn" /> <Button Margin="20" Classes="btn" Content="Style Btn" /> </StackPanel> </Window> 


рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рдЙрджрд╛рд╣рд░рдг
рдорд╛рдирдХ рдЪреЗрдХрдмреЙрдХреНрд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



рдмреЗрд╣рддрд░ рдЪреЗрдХрдмреЙрдХреНрд╕ Android рдХреЗ рд╕рдорд╛рди рд╣реИ (рдереЛрдбрд╝рд╛)



рдереЛрдбрд╝рд╛ рд╕рд╛ рдЬрд╛рджреВ
  <Window.Styles> <Style Selector = "CheckBox.uberbox"> <Setter Property = "Template"> <Setter.Value> <ControlTemplate> <Grid> <Border Background = "# b0b0b0" Padding = "5" BorderBrush = "# 303030" CornerRadius = "5"> <Grid> <Grid Classes = "unchecked" ColumnDefinitions = "Auto, Auto"> <Border Width = "20" Height = "20" Background = "Blue" CornerRadius = "5" /> <TextBlock FontWeight = "Bold" Margin = "5,0,0,0" Grid.Column = "1"> 0FF </TextBlock> </Grid> <Grid Classes = "checked" ColumnDefinitions = "Auto, Auto"> <Border Grid.Column = "1" Width = "20" Height = "20" Background = "Red" CornerRadius = "5" /> <TextBlock FontWeight = "Bold" Margin = "0,0,5,0"> ON </TextBlock> </Grid> </Grid> </Border> <Border Classes = "fade" Background = "White" CornerRadius = "5" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style Selector = "CheckBox.uberbox / template / Grid.checked"> <Setter Property = "Opacity" Value = "0" /> </Style> <Style Selector = "CheckBox.uberbox: checked / template / Grid.checked"> <Setter Property = "Opacity" Value = "1" /> </Style> <Style Selector = "CheckBox.uberbox: checked / template / Grid.unchecked"> <Setter Property = "Opacity" Value = "0" /> </Style> <Style Selector = "CheckBox.uberbox / template / Border.fade"> <Setter Property = "Opacity" Value = "0" /> </Style> <Style Selector = "CheckBox.uberbox: pointerover / template / Border.fade"> <Setter Property = "Opacity" Value = "0.2" /> </Style> </Window.Styles> <StackPanel> <CheckBox Classes = "uberbox" Margin = "10" /> </StackPanel> 



рдЬрд╣рд╛рдВ рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП


рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЦрд┐рдбрд╝рдХреА рдХреЗ рднреАрддрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рд▓рд┐рдЦреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИ),
рдФрд░ рдкреВрд░реЗ рдЖрд╡реЗрджрди рдХреЗ рднреАрддрд░ (рддрдм рд╢реИрд▓реА рд╕рднреА рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрдЧреА)ред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢реИрд▓реА рдХреЛ App.xaml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ

  <Application.Styles> <StyleInclude Source = "avares: //Avalonia.Themes.Default/DefaultTheme.xaml" /> <StyleInclude Source = "avares: //Avalonia.Themes.Default/Accents/BaseLight.xaml" /> <Style Selector = "Button"> <Setter Property = "Background" Value = "Blue"> </Setter> </Style> </Application.Styles> 

рдЧреНрд░реЗрдЯрд░ рдЬреБрджрд╛рдИ


рдХреЛрдб рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╕рд╛рде, рд╣рдо рдЕрдм рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╡рд┐рдВрдбреЛ рд▓реЗрдЖрдЙрдЯ рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╛рдЗрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛:



рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢реИрд▓рд┐рдпрд╛рдБ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдФрд░ рдЕрдкрдиреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ xml рдпрд╛ xaml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦреЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдирд╛рдо рдЬреЛрдбрд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

  <Styles xmlns = "https://github.com/avaloniaui" xmlns: x = "http://schemas.microsoft.com/winfx/2006/xaml" xmlns: sys = "clr-namespace: System; assembly = netstandard"> <Style Selector = "Button / template / ContentPresenter"> <Setter Property = "CornerRadius" Value = "10" /> </Style> <Style Selector = "Button"> <Setter Property = "Foreground" Value = "# FFFFFFFF" /> <Setter Property = "BorderThickness" Value = "2" /> <Setter Property = "Background" Value = "# FFDD4812" /> <Setter Property = "BorderBrush" Value = "# FFFFFFFF" /> </Style> <Style Selector = "Button: pointerover / template / ContentPresenter"> <Setter Property = "BorderBrush" Value = "# FFDD4812" /> </Style> </Styles> 

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирдП рд╕рдВрд╕рд╛рдзрди рдЬреЛрдбрд╝реЗрдВ (* .csproj):

  <AvaloniaResource Include = "Styles \ **" /> 

рдФрд░ StyleInclude рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ

  <Window.Styles> <StyleInclude Source = "/ Styles / Style.xml" /> </Window.Styles> 

рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ dll рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ ClassLibrary рдмрдирд╛рдПрдБ рдФрд░ рд╣рд┐рдорд╕реНрдЦрд▓рди рд╕рдВрд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдорд╛рд░реА рднрд╡рд┐рд╖реНрдп рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ:

  <ItemGroup> <AvaloniaResource Include="**\*.xaml"> <SubType>Designer</SubType> </AvaloniaResource> </ItemGroup> <ItemGroup> <AvaloniaResource Include="**\*.xml"> <SubType>Designer</SubType> </AvaloniaResource> </ItemGroup> 

рдЕрдм рдкрд╣рд▓реЗ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд Styles.xml рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ 2 рдФрд░ рдирдИ рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реЗрдВ:



Xaml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЖрдкрдХреЛ рдирд╛рдорд╕реНрдерд╛рди рдФрд░ рдЙрд╕ рд╡рд░реНрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЙрд╕рдХрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдХрдиреЗрдХреНрд╢рди рднреА:

  <Styles xmlns = "https://github.com/avaloniaui" xmlns: x = "http://schemas.microsoft.com/winfx/2006/xaml" x: Class = "ClassLibrary1.DarkCustom"> <StyleInclude Source = "avares: //ClassLibrary1/Style.xml" /> </Styles> 

рдФрд░ рд╕реАрдПрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╢реИрд▓реА рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рдирд╣реАрдВ:

  namespace ClassLibrary1 { public class DarkCustom: Styles { } } 

рд╣рдорд╛рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓ рдХреЛ рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рд╢реИрд▓реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП рд╕реНрдЯрд╛рдЗрд▓рдЗрдиреНрдХреНрд▓реВрдб рдФрд░ рдПрд╡рд▓реЛрдирд┐рдпрд╛ рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

  <Window.Styles> <StyleInclude Source = "avares: //ClassLibrary1/DarkCustom.xaml" /> </Window.Styles> 

рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЗрдВ


рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдПрд╡рд▓реЛрдирд┐рдпрд╛ рд╕реНрдЯрд╛рдЗрд▓ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ ( рдпрд╣рд╛рдВ ) рджреЗрдЦреЗрдВред
рдЖрдк рдпрд╣рд╛рдВ (рддрддреНрд╡) рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реИрд▓реА рд▓рд┐рдЦрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рдЪрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреА рд╢реИрд▓реА рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп / рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдЕрджреНрднреБрдд рд╢реИрд▓реА рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ( рдпрд╣рд╛рдБ )



рдореИрдВ рдзрдиреНрдпрд╡рд╛рдж рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ ForNeVeR kekekeks worldbeater

Source: https://habr.com/ru/post/hi471342/


All Articles